Python Basics Kopfrechenspiel

[wpdm_package id=’5739′]

Die einfache Version mit zufälligen Zahlen von 1 bis 10, die addiert werden. Highlight: Das System erkennt, ob die Eingabe fast richtig war(+-1).

#Modul random importieren
import random

#Zufallsgenerator initialisieren basierend auf Systemzeit
random.seed()

#Zufallswerte 

a = random.randint(1,10)
b = random.randint(1,10)

y = a+b

print("Die Aufgabe ist: ",a,"+",b)

#Eingabe

x=input()

#Eingabe wird zu Integer int() ganze Zahl ohne Nachkommastellen
#Alternative Floater float() für Zahl mit Nachkommastellen

xint=int(x)



#Ausgabe

if xint == y:
    print(xint, "RICHTIG")
elif y-1<= xint <= y+1:
    print("FAST RICHTIG")
else:
    print("FALSCH")

Erweitertes Spiel

Der obere Code wurde erweitert:

Der Zufallsgenerator wird erstellt, die Aufgabenanzahl durch den Nutzer bestimmt. Befehle try und except prüfen, ob die Eingabe eine ganze Zahl ist. Zähler für richtige Antworten wird auf null gesetzt. Mit der for Schleife werden zufällig für jede Aufgabe ein Operator (+,-,*) gewählt und das korrekte Ergebnis c berechnet. Die nächste for Schleife lasst den Nutzer die Lösung eingeben und vergleicht die Eingabe zahl mit dem korrekten Ergebnis c. Der Zähler für richtig wird um eins erhöht. Die Schleife startet die nächste Runde und stellt die nächste Frage. Am Ende geben wir die Anzahl der richtigen Antworten aus richtig.

#Zufallsgenerator
import random
random.seed()

#Anzahl Aufgaben
anzahl = -1
while anzahl<0 or anzahl >10:
    try:
        print("Wieviele Aufgaben? von 1 bis 10")
        anzahl = int(input())
    except:
        continue
        
#Anzahl richtiger Ergebnisse
richtig = 0

#Aufgabengenerator
for aufgabe in range(1, anzahl+1):
    #Zufallsauswahl Operator
    opzahl = random.randint(1,3)
    if (opzahl == 1):
        a = random.randint(1,40)
        b = random.randint(1,40)
        op = "+"
        c = a+b
    elif (opzahl == 2):
        a = random.randint(1,40)
        b = random.randint(1,40)
        op = "-"
        c = a-b
    elif (opzahl == 3):
        a = random.randint(2,10)
        b = random.randint(2,10)
        op = "*"
        c = a*b

    #Aufgabe
    print("Aufgabe ", aufgabe, " von ", anzahl, ":", a, op, b)
    #Loesungsversuche
    for versuch in range(1,4):
        try:
            zahl=int(input())
        except:
            print("falsche Eingabe. Erwarte ganze Zahl.")
            continue
        if zahl == c:
            print("Richtig!")
            richtig = richtig +1
            break
        else:
            print("Falsch!")
            
            
print("Total: ", richtig, "von ", anzahl)

Schreibe einen Kommentar

Cookie Consent Banner von Real Cookie Banner