ich habe ein kleines Rechenspiel programmiert, bei dem man zuerst angibt wie viele Rechenaufgaben man lösen will. Als nächstes wird vom Programm eine Zufallszahl zwischen 1 und 4 ausgewählt wird, um die Rechenart zu bestimmen und anschließend die Zahlen für die Aufgabe, welche anschließend gestellt wird und gelöst werden soll. Eigentlich funktioniert alles so wie es soll. Nur bei der Division (Zufallszahl 4) hängt sich das Programm leider immer wieder auf.
Code: Alles auswählen
#!/usr/bin/python3
import random
random.seed()
versuche = 0
richtig = 0
while 1:
try:
print("Wie viele Aufgaben wollen Sie lösen?")
anzahl = int(input())
break
except:
print("Bitte geben Sie eine ganze Zahl ein")
continue
for aufgabe in range(1, anzahl+1,1):
auswahl = random.randint(1,4)
if auswahl == 1: #Addition
a = random.randint(1,20)
b = random.randint(1,20)
erg = a + b
rzeichen = "+"
elif auswahl == 2: #Subtraktion
erg = -1
while erg < 0:
a = random.randint(1,20)
b = random.randint(1,20)
erg = a - b
rzeichen = "-"
elif auswahl == 3: #Multiplikation
a = random.randint(1,20)
b = random.randint(1,20)
erg = a * b
rzeichen = "*"
elif auswahl == 4: #Division
erg = 0.5
while type(erg) != int:
a = random.randint(1,20)
b = random.randint(1,20)
erg = a / b
rzeichen = "/"
#Aufgabe stellen
print("Ihre", aufgabe, ". Aufgabe von", anzahl,":")
print( a, rzeichen, b)
for i in range(1,4,1):
versuche = versuche + 1
try:
print("Ihr Ergebnis:")
eingabe = float(input())
except:
print("Sie haben keine Zahl eingegeben!")
print("Sie müssen eine Zahl eingeben!")
print()
continue
#Ergebnisüberprüfung
if eingabe == erg:
richtig = richtig + 1
print("Ihr Ergebnis ist richtig :)")
print()
break
elif i == 3:
print("Ihr Ergebnis ist leider falsch :(")
print("Sie haben drei mal das falsche Ergebnis eingegeben")
print("Das richtige Ergebnis wäre gewesen: ", erg)
print()
print("Es geht weiter mit der nächsten Aufgabe")
print()
else:
print("Ihr Ergebnis ist leider falsch :(")
print("Versuchen Sie es noch einmal")
print()
continue
print("Anzahl der Aufgaben:", anzahl)
print("Richtige Aufgaben: ", richtig)
print("Anzahl der Versuche:", versuche)
Code: Alles auswählen
while type(erg) != int:
Vielen Dank