Beenden einer If-Schleife

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Artur
User
Beiträge: 47
Registriert: Freitag 21. Oktober 2011, 10:55

Tag liebes forum

Ich habe volgende Schleife, die soetwas wie ein "Taschenrechner für Anfänger" sein soll.

Code: Alles auswählen

Operand1=float(raw_input("Jau! Mit welcher Zahl willst du rechnen? : "))
Operator=str(raw_input("Jau! Mit welchem Operator soll die Zahl verrechnet werden? "))
Operand2=float(raw_input("Jau! Mit welcher Zahl soll die erste Zahl verrechnet werden? "))
#Float, da man sonst keine Kommazahlen als Ergebnis bekommt!

v="Jau! Das Ergebnis ist: "
if Operator=="+":
    print v, Operand1+Operand2
elif Operator=="-":
    print v, Operand1-Operand2
elif Operator=="*":
    print v, Operand1*Operand2
elif Operator=="/":
    print v, Operand1/Operand2 "
Erst soll man in der console die Zahl eingeben, mit der man rechnen will, danach den Operator also +,-,*,/ und als letztes die zweite Zahl, mit der die erste verrechnet werden soll. Die Rechenoperation soll ausgeführt werden und der Wert ausgegeben werden.
Bisher hat alles geklappt, doch nun kommt folgende Aufgabe hinzu:

Modifizieren Sie das Programm so, dass die Abfrage immer neu beginnt. Erst bei Eingabe
einer 0 für den ersten Operanden soll das Programm abgebrochen werden.

Erst will ich, dass wenn man eine 0 für den ersten Operand eingibt das Programm beenden.
Ich habe versucht

Code: Alles auswählen

if Oberand1=="0"
oder

Code: Alles auswählen

if Operand1==0
an den Anfang zu setzen oder

Code: Alles auswählen

elif Operand1=="0"
nach hinten der if-Schleife zu setzen, doch als Ausgabe kamen nur Error raus.

Danach soll ich das Programm so verändern, dass die Anfrage immer neu beginnt, also das Programm von neuem Beginnt. Gibt es dafür einen bestimmten Befehl? Im Python tutorial wurde ich bisher nicht fündig. Hat jemand einen Tip oder kann mir den Python-tut-Link zu diesen Befehlen geben? Danke im Voraus

LG

edit: Unter die Versuche mit dem Abbruch des Programms habe ich

Code: Alles auswählen

break
oder

Code: Alles auswählen

print "Ende"
geschrieben, doch es gab keine Reaktion außer einen Error.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Artur hat geschrieben:Ich habe versucht

Code: Alles auswählen

if Oberand1=="0"
oder

Code: Alles auswählen

if Operand1==0
an den Anfang zu setzen oder

Code: Alles auswählen

elif Operand1=="0"
nach hinten der if-Schleife zu setzen, doch als Ausgabe kamen nur Error raus.
1. Überlege Dir, welchen Typ (int, str...) Operand1 denn hat.
2. Was soll denn genau geschehen, wenn die Bedingung eintrifft?
3. Als Tipp: Du verwendest noch keine Schleife, die abgebrochen ('break') werden könnte.

mutetella



EDIT:
Artur hat geschrieben:(...), doch es gab keine Reaktion außer einen Error.
Na wenn das mal keine Reaktion ist... Fehlermeldungen sind äußerst wichtig und aufschlussreich beim Programmieren. Wenn Du die ignorierst, wirst Du nicht weiterkommen... :wink:
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Artur
User
Beiträge: 47
Registriert: Freitag 21. Oktober 2011, 10:55

Tag, ich benutze doch lieber eine while-Schleife. Damit hat es funktioniert (break). Trotzdem danke :-)
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

Äpfel mit Birnen oder doch Melonen.
Der muss noch sein: http://www.if-schleife.de/

:roll:
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Artur hat geschrieben:Damit hat es funktioniert (break).
Nochmal meine Frage: Willst Du uns das Ergebnis nicht zeigen? Auch funktionierender Code lässt sich sehr oft noch verbessern. Gerade dabei kann man viel über eine Sprache lernen...

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Antworten