Seite 1 von 1
Befehl stop() ?
Verfasst: Samstag 23. Oktober 2010, 15:11
von Blue Flare
Code: Alles auswählen
print("Wählen Sie eine Funktion aus:")
print("Wenn Sie eine Addition durchführen möchten drücken Sie die 1")
print("Wenn Sie eine Subtraktion durchführen möchten drücken Sie die 2")
print("Wenn Sie eine Multiplikation durchführen möchten drücken Sie die 3")
print("Wenn Sie eine Division durchführen möchten drücken Sie die 4")
Menueauswahl = int(input())
if Menueauswahl >= 5:
print("Error")
if Menueauswahl == 0:
print("Error")
if Menueauswahl == 1:
print("Bitte geben Sie den ersten Summanden ein")
erstersummand = input()
print("Bitte geben Sie den zweiten Summanden ein")
zweitersummand = input()
Ergebnis = erstersummand + zweitersummand
print("Ergebnis:")
print(Ergebnis)
elif Menueauswahl == 2:
print("Bitte geben Sie den Minuend ein")
Minuend = input()
print("Bitte geben Sie den Subtrahen ein")
Subtrahend = input()
Ergebnis = Minuend - Subtrahend
print("Ergebnis:")
print(Ergebnis)
elif Menueauswahl == 3:
print("Bitte geben Sie den ersten Faktor ein")
Faktoreins = input()
print("Bitte geben Sie den zweiten Faktor ein")
Faktorzwei = input()
Ergebnis = Faktoreins * Faktorzwei
print("Ergebnis:")
print(Ergebnis)
elif Menueauswahl == 4:
print("Bitte geben Sie den Dividend ein")
Dividend = float(input())
print("Bitte geben Sie den Divisor ein")
Divisor = float(input())
if Divisor == 0:
print("Error")
stop()
Ergebnis = Dividend / Divisor
print("Ergebnis:")
print(Ergebnis)
ich habe hier einen rechner programmiert allerdings brauche ich bei der division (Menueauswahl 4) einen befehl der das programm stoppt...
stop() gibt es nicht...
bitte hilfe !
Re: Befehl stop() ?
Verfasst: Samstag 23. Oktober 2010, 15:27
von BlackJack
@Blue Flare: Du brauchst da keine Möglichkeit das Programm zu beenden. Das was nach dem ``if``-Zweig steht soll nur ausgeführt werden wenn die Bedingung beim ``if`` nicht zugetroffen hat. Schau Dir doch mal an was es zusätzlich zum ``if`` noch so gibt.
Alternativ könntest Du mit ``try``/``except`` auch auf die Ausnahme reagieren die eine Division durch Null zur Folge hat.
Re: Befehl stop() ?
Verfasst: Samstag 23. Oktober 2010, 15:33
von Blue Flare
ja kommt aber ein bisschen blöd wenn ich das nicht verwenden darf...
bzw. noch nicht gelernt haben...
lg blue flare
Re: Befehl stop() ?
Verfasst: Samstag 23. Oktober 2010, 16:14
von Hyperion
Tipp (in Anlehnung an BlackJack): Die ersten beiden "if" sind quasi obsolet; letztlich testest Du damit ja eben nur, ob der Nutzer eine ungültige Option gewählt hat. Genau dafür gibt es doch ein Konstrukt, welches sich hier einreiht: if...elif...?
Zunächst fragst Du alle Optionen ab, und wenn nichts davon zugetroffen ist, dann ist es wohl eine ungültige Option gewesen.
Noch kurz ein paar Anmerkungen zum Rest:
- ich würde
PEP8 mehr beachten. "menueauswahl" also statt "Menueauswahl".
- ich würde auf die Umwandlung der Eingabe in einen Integer-Wert verzichten und die Abfragen gegen Strings vergleichen:
Vorteil: Sollte der Nutzer einen Buchstaben oder ein anderes Zeichen eingeben, würde keine Exception ausgelöst, sondern das Programm würde normal in das noch von Dir zu findende Konstrukt reinlaufen und "normal" beenden.
Re: Befehl stop() ?
Verfasst: Samstag 23. Oktober 2010, 16:25
von BlackJack
@Blue Flare: Einen `stop()`-"Befehl" hast Du ja anscheinend auch nicht gelernt, also musst Du so oder so etwas nehmen was Du noch nicht kennst. Also solltest Du kennenlernen was es neben dem ``if`` und ``elif`` halt noch gibt.
Re: Befehl stop() ?
Verfasst: Samstag 23. Oktober 2010, 16:38
von Blue Flare
alles klar, versuche das mal so...
@Black Jack: wir sind in der schule erst bei if & elif & else angekommen, da würde es doch blöd ausschaun wenn ich schon mit pass & try & accept iwas mache...
lg blue flare
Re: Befehl stop() ?
Verfasst: Samstag 23. Oktober 2010, 16:43
von BlackJack
@Blue Flare: Mal davon abgesehen, dass das nicht blöd wäre sondern Eigeninitiative zeigen würde, kannst Du das auch mit ``if``, ``elif``, und ``else`` lösen. Wie das geht habe ich im Grunde schon beschrieben. Das was nach dem "stop" steht soll nur ausgeführt werden wenn die ``if``-Bedingung nicht zutrifft.