Warum empfindest du das als schräg / verwirrend? Namen werden doch nie an die annotation gebunden, oder stehe ich auf dem Schlauch?noisefloor hat geschrieben: ↑Mittwoch 31. März 2021, 09:44 was daran IMHO auch ziemlich schräg / verwirrend ist, ist das `print` zwar in den Annotations auftaucht, aber der Name `print` immer noch an die Funktion gebunden ist und nicht an den String:
Etwas erneut ausführen oder zurückspringen
Hallo ich hätte eine frage, ich möchte ein spiel entwickeln indem man sich immer für eine von 2 Möglichkeit entscheiden muss. Hier mein Problem, wenn man etwas anderes in "input" eingibt außer 1 und 2 möchte ich das eine Fehlermeldung erscheint und der Code wieder dorthin zurückspringt wo die Entscheidung abgefragt wird. Auch gerne andere Verbesserungsvorschläge in die Antwort Sektion ich lerne erst seit ein Paar Tagen Python und würde mich über Feedback freuen.
MFG Fritz.
Hier mein Code:
MFG Fritz.
Hier mein Code:
Code: Alles auswählen
from time import sleep
def entscheidung_1_wahl_10000_rechts():
print("du läufst nach rechts")
def entscheidung_1_wahl_20000_():
print("du läufst nach links")
name=input ("gib deinen namen:")
print ("hallo " +name+ " deine legende wird generiert...")
sleep (1)
print ("los geht's ")
print ("Du hast einen Auftrag..... ")
sleep (2)
print ("finde den Diamanten des Königs")
input ("[press to play]")
print (".......")
sleep (2)
print ("du kommst zu einer Wegkreuzung willst du(1)rechts oder (2)links gehen" )
zahl=input ("deine wahl.....")
if int(zahl) >=3: #entscheidung 1 wahl 30000 [falsch]
print("[falsche aussage]") # hier wird zwar schon ausgegeben falsche aussage aber das programm läuft nicht weiter
if int(zahl)< 2:#entscheidung 1 wahl 10000 [rechts]
entscheidung_1_wahl_10000_rechts()
if int(zahl)== 2: #entscheidung 1 wahl 20000 [links]
entscheidung_1_wahl_20000_()
Das was Du brauchst, nennt sich Schleife, hier eine while-True-Schleife. Zusätzlich solltest Du noch abfangen, ob Du überhaupt eine Zahl eingegeben hast.
Code: Alles auswählen
from time import sleep
def auswahl(prompt, optionen):
while True:
try:
zahl = int(input("deine wahl....."))
except ValueError:
pass
else:
if zahl in optionen:
return zahl
print("[falsche aussage]")
def entscheidung_1_wahl_10000_rechts():
print("du läufst nach rechts")
def entscheidung_1_wahl_20000_links():
print("du läufst nach links")
def main():
name = input("gib deinen namen:")
print(f"Hallo {name}, deine legende wird generiert...")
sleep(1)
print("los geht's ")
print("Du hast einen Auftrag..... ")
sleep(2)
print("finde den Diamanten des Königs")
sleep(2)
print("du kommst zu einer Wegkreuzung willst du(1)rechts oder (2)links gehen" )
zahl = auswahl("deine wahl.....", [1, 2])
if zahl == 1:
entscheidung_1_wahl_10000_rechts()
else:
entscheidung_1_wahl_20000_links()
if __name__ == '__main__':
main()
Schau dir mal diesen Kurs an:
https://www.youtube.com/playlist?list=P ... hPOSuh8Er-
https://www.youtube.com/playlist?list=P ... hPOSuh8Er-
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png