score (punkte) im python?
Hallo, ich lerne gerade python und mache so ein quiz und für jedes gute antwort gebe ich einen punkt und am ende gebe ich die punkte die er hat, aber es geht ergenwie nicht, ich weis nicht was ich eingeben soll, ich habe es so gemacht aber am ende es ist ergendwie falsch
print("Willkommen zu der denis Adventure")
print("")
print("ich hoffe sie werden viel spaß haben")
print("")
print("fangen wir mit die erste Situation an")
print("")
print("sie können den programm beenden indem sie 111 tippen")
adven = input("sie sind in einem FG drinne, springen sie raus oder bleiben sie? \n 1:springen\n 2:bleiben\n Antwort:")
if adven == "1":
print("sie springe raus und sind im sicherheit")
adven2 = input("paar minuten später sehen sie 2 männer laufen sie weg oder gehen sie mit? \n3:mitgehen \n4:weglaufen\nAntwort: ")
if adven2 == "3":
print("sie werden versurgt und sind im sicherheit")
score = score+1
elif adven2 == "4":
print("sie werden stulpern und sterben")
elif adven == "111":
print("das programm wir jetz beendet")
"break"
else:
print("bitte geben sie ein gültegis Zerfikat ein")
elif adven == "2":
print("sie werden drinne bleiben und sterben")
else:
print("bitte geben sie ein gültegis Zerfikat ein")
print("Du hast" + score + "punkte")
was mache ich falsch
3 Antworten
Die Variable score wird inkrementiert ohne dass sie vorher deklariert wurde. Somit tritt ein Laufzeitfehler auf, da der Interpreter die Variable zum Zeitpunkt der Inkrementierung noch nicht kennt. Um das zu beheben musst du noch vor der while-Schleife? (eigentlich müsste diese noch um den gesamten Code herum, da dieser sonst keinen Sinn ergeben würde, weil Score immer nur 0 oder 1 wäre) die Variable noch definieren. (dazu einfach "score=0" schreiben). Außerdem kann ich mir nicht erklären, was "break" machen soll. Ohne Anführungszeichen wäre das nur in einer Schleife sinnvoll.
score ist noch nicht definiert
In dem Programm sind 2 Fehler. Der erste ist das die Variable score erst deklariert werden muss bevor du diesen nutzen kannst. Das kannst du lösen in dem du am Anfang dieser einfach den Wert 0 zuweist.
Der zweite ist bei der Ausgabe der Punkte. Dort musst du die Anzahl der Punkte zuerst stringifizieren mit str() damit du diese mit einem Zeichenfolge addieren kannst. Heißt die Ausgabe der Punkte müsste etwa so aussehen:
print("Du hast " + str(score) + " Punkte")
lg Suiram1