Ich versuche, eine while-Schleife eine Reihe von Fragen zu stellen und neu zu starten, wenn die letzte Frage gestellt wird. Die Sache ist, ich möchte, dass der Benutzer die Fähigkeit hat, zu beenden, indem er bei jeder Frage ein bestimmtes Wort eingibt. Ich möchte auch so wenig Code wie möglich in der Schleife, also liegen die if/elif-Anweisungen in Funktionen.Break oder Fortsetzung einer While-Schleife von einer Funktion
Meine Frage ist: Kann ich eine Schleife von einer Funktion fortsetzen oder unterbrechen?
Mein Code:
def check_gender(q):
if q == "f":
number_women = number_women + 1
elif q == "m":
number_men = number_men + 1
elif q == "foo":
#break the loop
else:
print("Please answer M or F: ")
q = input("Are you a male or female (M/F)? ").lower()
check_gender(q)
def check_age(q):
if not(16 <= int(q) <= 25):
print("You are not in the age range for this survey")
#Jump back to first question here
if q == "foo":
#break the loop
while True:
gender = input("Are you a male or female (M/F)? ").lower()
check_gender(gender)
age = input("Please enter your age: ")
check_age(age)
#And so on with questions
Ist das möglich?
Ihr Code ist nicht richtig eingerückt; Könntest du das reparieren? –