Python :: Aufgabe #22
2 Lösungen

Programmier-Basic: Eigene Klasse Rechnen schreiben
Anfänger - Python
von Coco
- 02.01.2013 um 16:58 Uhr
Schreibe eine eigene Klasse, die für dich das Rechnen übernimmt:
-Funktionen für Addition, Multiplikation, Subtraktion, Division
-Achte darauf, dass Bei der Divison nicht durch 0 geteilt werden darf!
-Die Funktionen sollten Float Werte entgegen nehmen, damit du auch Kommerzahlen berechnen kannst
Im eingentlichen Programm sollst du dann mit z.B. mit einer
Eine bespiel in der Konsole:
gruß
coco
-Funktionen für Addition, Multiplikation, Subtraktion, Division
-Achte darauf, dass Bei der Divison nicht durch 0 geteilt werden darf!
-Die Funktionen sollten Float Werte entgegen nehmen, damit du auch Kommerzahlen berechnen kannst
Im eingentlichen Programm sollst du dann mit z.B. mit einer
switch
abfrage die Eingabe verwalten und zu den Richtigen funktionen schicken.Eine bespiel in der Konsole:
Konsolenausgabe:
Erste Zahl: 1.215
Operator: /
Zweite Zahl: 1.124
Ergebnis: 1.08096
Drücken Sie eine beliebige Taste...
gruß
coco
Lösungen:

import sys class Rechnen(object): def __init__(self, x, y): self.x = x self.y = y def addition(self,x,y): print("Ergebnis:", self.x+self.y) def subtraktion(self,x,y): print("Ergebnis:", self.x-self.y) def multiplikation(self,x,y): print("Ergebnis:", self.x*self.y) def division(self,x,y): if self.y == 0: print("Division durch Null!") else: print("Ergebnis:", self.x/self.y) z1 = input("Erste Zahl: ").replace(',','.') operator = input("Operator: ") z2 = input("Zweite Zahl: ").replace(',','.') print() try: zahl1 = float(z1) except: print("Nur Zahlen bitte!") sys.exit(0) try: zahl2 = float(z2) except: print("Nur Zahlen bitte!") sys.exit(0) lsg = Rechnen(zahl1,zahl2) if operator == '+': lsg.addition(zahl1,zahl2) elif operator == '-': lsg.subtraktion(zahl1,zahl2) elif operator == '*': lsg.multiplikation(zahl1,zahl2) elif operator == '/': lsg.division(zahl1,zahl2) else: print("Falscher Operator!")

import sys def neurechnen (): wiederhole = "j" ende = "n" a = (input("Eine neue Aufgabe rechnen? [j/n]")) while (True): if (a == wiederhole): print ("") print ("Ich freue mich eine neue Aufgabe für Sie rechnen zu dürfen!") rechne() elif (a == ende): print ("Auf Wiedersehen!") sys.exit(0) else: print ("Bitte 'j' für Ja und 'n' für Nein eintippen.") neurechnen() def rechne(): print ("---------------------------------------------------------------------") print ("--Ich bin ein einfacher Taschenrechner der 2 Werte zusammenrechnet.--") print ("--------------------------------------------------------------------- ") zahl1 = float (input("Ihre erste Zahl bitte: ")) operator = (input ("Ihr Operator bitte (+,-,*,/,²,³): ")) if operator == "+": zahl2 = float (input ("Ihre zweite Zahl bitte: ")) print ("") print ("Ihr Ergebnis: " , (zahl1 + zahl2)) print ("") neurechnen() print ("") if operator =="-": zahl2 = float (input ("Ihre zweite Zahl bitte: ")) print ("") print ("Ihr Ergebnis: " , (zahl1 - zahl2)) print ("") neurechnen() elif operator == "*": zahl2 = float (input ("Ihre zweite Zahl bitte: ")) if (zahl1 == 0 or zahl2 == 0): print ("") print ("Es kann nicht sinnvoll mit 0 multipliziert werden!") print ("") neurechnen() if (zahl1 != 0 or zahl2 != 0): print ("") print ("Ihr Ergebnis: " , (zahl1 * zahl2)) print ("") neurechnen() elif operator == "/": zahl2 = float (input ("Ihre zweite Zahl bitte: ")) if (zahl1 == 0 or zahl2 == 0): print ("") print ("Es kann nicht sinnvoll durch 0 geteilt werden!") print ("") neurechnen() if (zahl1 != 0 or zahl2 != 0): print ("") print ("Ihr Ergebnis: " , (zahl1 / zahl2)) print ("") neurechnen() elif operator == "²": if (zahl1 == 0): print ("") print ("Eine null macht hier keinen Sinn!") print ("") neurechnen() if (zahl1 != 0): print ("") print ("Ihr Ergebnis: " , (zahl1 **2)) print ("") neurechnen() elif operator == "³": if (zahl1 == 0): print ("") print ("Eine null macht hier keinen Sinn!") print ("") neurechnen() if (zahl1 != 0): print ("") print ("Ihr Ergebnis: " , (zahl1 **3)) print ("") neurechnen() else : print ("Erklären Sie mir bitte,wie Sie es hier her geschafft haben.") neurechnen() rechne()