Ich verschuche grade Python mit Hilfe eines Buches zu lernen.
Darin entwickelt man ein Kopfrechen"spiel" immer weiter... Um mehr Verständnis zu bekommen versuche ich aber auch die einzelnen Üungen noch weiter zu denken und meine eigenen Schritte und Ideen einfließen zu lassen.
Dabei bin ich jetzt auf folgendes Problem gestoßen:
Es sollen zufällige Zahlen generiert werden, welche die Aufgabe bilden.
Die Abfrage des Ergebnisses soll so lange durch laufen, bis dieses richtig eingegeben wurde. Dazu soll dann die Anzahl der Versuche ausgegeben werden.
So weit kein Problem... Nun wollte ich aber hinzufügen, dass bei richtigem Ergebnis gefragt wird, ob man noch einmal spielen möchte.
Bei der Abfrage würde ich gerne in durch eine If Verzweigung regeln was passiert, je nachdem was der Benutzer eingibt.
Mein Problem ist, dass egal was man eingibt (solange es nicht "Nein" ist) eine neue Aufgabe gestellt wird.
Mein "Code" :
Ich hoffe mir kann geholfen werden
Danke im Voraus!
Code: Alles auswählen
#Zufallsgenerator
import random
random.seed()
#Werte und Berechnungen
a = random.randint(1,10)
b = random.randint(1,10)
c = a + b
print("Die Aufgabe:", a, "+", b)
#Variablen zuordnen
fehler = 1
versuch = 0
#While Schleife läuft so lange Fehler den Wert 1 hat
while fehler == 1:
print("\nGeben Sie ihr Ergebnis in ganzen Zahlen ein!")
e = input()
try:
#Try Block zum testen ob die Eingabe eine ganze Zahl war
eingabe = int(e)
if eingabe == c:
#Verzweigung zum testen auf das richtige Ergebnis
versuch = versuch + 1
print("Ihr Ergebnis ist richtig")
print("Sie haben", versuch, "Versuche gebraucht")
fehler = 0
print("\nNoch einmal?")
abfrage = str(input())
if abfrage == 'ja' or 'Ja' or 'JA':
#Verzweigung falls eine neue Aufgabe gestellt werden soll
a = random.randint(1,10)
b = random.randint(1,10)
c = a + b
print("Die neue Aufgabe:", a, "+", b)
fehler = 1
versuch = 0
continue
elif abfrage == 'nein' or 'Nein' or 'NEIN':
#beenden wenn keine neue Aufgabe gewünscht ist
quit()
else:
print("Keine richtige Eingabe")
else:
#Trifft zu wenn das Ergebnis falsch ist
print("Das Ergebnis ist nicht richtig")
versuch = versuch +1
except:
#Trifft zu wenn keine ganze Zahl eingegeben wurde
print("Keine ganze Zahl eingegeben")
continue