2016-07-14 22 views
0

Ich versuche, eine Funktion zu erstellen, die Benutzern die Möglichkeit gibt, ihren Charakter zu benennen und die Option, ihre Meinung zu ändern, wenn sie diesen Namen nicht mögen.Python 3 - Wenn Anweisung Benutzereingabe wiederholt

Um zu testen, dass alles funktioniert habe ich eine print-Anweisung aufgerufen, sobald die Funktion zurückgibt.

Alles scheint gut zu funktionieren, wenn der Benutzer den von ihnen gewählten Vornamen akzeptiert.

Enter your name... glitch 

OAK 
Right! 
So your name is Glitch! 

yes/no yes 

Glitch 

Wenn der Benutzer jedoch seine Meinung ändert, ruft die Funktion die Benutzereingabe zweimal auf.

Enter your name... 

OAK 
Right! 
So your name is Red! 

yes/no no 

Enter your name... glitch 

OAK 
Right! 
So your name is Glitch! 

yes/no yes 

yes/no yes 

Glitch 

Habe ich irgendwo einen Fehler in der Codierung gemacht?

Danke,

Glitch.

elif agree == "no": 
     agree = "" 
     namemc() 

zu:

Antwort

0

sollten Sie ändern

elif agree == "no": 
     agree = "" 
     return namemc() 

sonst die while-Schleife

+0

Thankyou weiter, ich war nicht klar, Rückkehr für Funktionen sowie Variablen gearbeitet. – Glitch

+0

@Glitch Die "innere Funktion" gibt einen Wert zurück, und die "äußere Funktion" möchte auch diesen Wert zurückgeben. –