Ich versuche, eine Schleife zu erstellen, die ein Benutzer am Ende des Programms anhalten kann. Ich habe verschiedene Lösungen ausprobiert, von denen keine funktioniert hat, alles was ich geschafft habe, ist die Schleife zu erstellen, aber ich kann es nicht beenden. Ich habe erst vor kurzem begonnen, Python zu lernen, und ich wäre dankbar, wenn mich jemand zu diesem Thema aufklären könnte.Endlosschleife beenden (Python)
def main():
while True:
NoChild = int(0)
NoAdult = int(0)
NoDays = int(0)
AdultCost = int(0)
ChildCost = int(0)
FinalCost = int(0)
print ("Welcome to Superslides!")
print ("The theme park with the biggest water slide in Europe.")
NoAdult = int(raw_input("How many adults are there?"))
NoChild = int(raw_input("How many children are there?"))
NoDays = int(raw_input("How many days will you be at the theme park?"))
WeekDay = (raw_input("Will you be attending the park on a weekday? (Yes/No)"))
if WeekDay == "Yes":
AdultCost = NoAdult * 5
elif WeekDay == "No":
AdultCost = NoAdult * 10
ChildCost = NoChild * 5
FinalCost = (AdultCost + ChildCost)*NoDays
print ("Order Summary")
print("Number of Adults: ",NoAdult,"Cost: ",AdultCost)
print("Number of Children: ",NoChild,"Cost: ",ChildCost)
print("Your final total is:",FinalCost)
print("Have a nice day at SuperSlides!")
again = raw_input("Would you like to process another customer? (Yes/No)")
if again =="No":
print("Goodbye!")
return
elif again =="Yes":
print("Next Customer.")
else:
print("You should enter either Yes or No.")
if __name__=="__main__":
main()
Wann würden Sie erwarten, dass Ihr Programm endet und was macht es stattdessen? Außerdem gibt es mehrere Probleme - Sie verwenden Python 3 '' print() 'Funktionssyntax zusammen mit Python 2' raw_input() '. Keine Notwendigkeit für all diese 'var = int (0)' Zeilen - Sie müssen Variablen in Python nicht initialisieren. Was passiert, wenn der Benutzer weder mit Ja noch mit Nein zur ersten Frage antwortet? –
Ich versuchte mit Pause, aber die Schleife fuhr fort zu laufen. –
Ersetzen Sie die Rückgabe mit Pause. – lonewaft