Programm für die Schule

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
Daydream214
User
Beiträge: 1
Registriert: Freitag 17. Februar 2017, 08:55

Hallo erstmal,
für die Schule sollen wir ein kleines Programm schreiben und stehen nun vor folgendem Problem:
Es soll ein kleines Spiel werden und am Anfang wird man gefragt, ob man spielen möchte. Man kann mit "Ja" oder "Nein" antworten, aber wir haben auch versucht einen Befehl einzubauen, für den Fall, dass etwas anderes eingegeben wird. In dem Fall, soll der Benutzer die Möglichkeit bekommen seine Eingabe zu wiederholen.
Wie schaffen wir es, das in eine Schleife einzubauen, sodass man ohne großen Aufwand, solange eine Antwort eingeben kann, bis "Ja" oder "Nein" eingegeben wurde?
Tut mir leid, falls wir etwas umständlich schreiben, aber wir sind Anfänger und hoffen ihr könnt uns helfen.
Danke schon mal. :D
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Erfrage in einer "while True"-Schleife die Antwort. Wenn die Antwort Ja oder Nein ist, dann beende die Schleife. Entweder mit break oder du lagerst die Schleife zur Abfrage als eigene Funktion aus. Dann kannst du, sobald eine gültige Antwort gegeben wurde, diese mit return zurück geben.
Benutzeravatar
Dirki
User
Beiträge: 69
Registriert: Donnerstag 23. Juni 2016, 16:11

Ich bi so ein bisschen hin- und hergerissen, einerseits würde ich ungern, die Hausaufgaben für euch machen, andererseits freue ich mich auch mal helfen zu können. ;)

So könnte das aussehen:
[codebox=python file=Unbenannt.txt]
while True:
spielen = input("Solls losgehen? ")
if spielen == "Nein":
print("Dann halt nicht!")
exit(0)
if spielen == "Ja":
print("Au ja! lass uns spielen!")
break
[/code]
Zuletzt geändert von Anonymous am Samstag 18. Februar 2017, 13:45, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@Dirki: Wobei man sich so ein `exit()` soweit wie möglich verkneifen sollte, und statt dessen lieber den Programmfluss so strukturieren sollte, das man ”natürlich” ans Ende gelangt. Dort steht dann vielleicht auch noch Code den man am Ende ausführen möchte.

Und ich hoffe Du hast `exit()` aus importiert, sonst ist nicht garantiert dass es das auch gibt.

Den Benutzer tatsächlich zu zwingen 'Ja' oder 'Nein' inklusive Beachtung von Gross- und Kleinbuchstaben zu zwingen ist nicht wirklich benutzerfreundlich.
Antworten