2017-01-30 4 views
-2

Also schreibe ich ein Programm, das der Person einen zufälligen Namen gibt und fragt dann den Benutzer, ob sie diesen Namen mögen und wenn nicht, wird es ihnen einen neuen geben.Ich erkenne keine Benutzereingabe in Python 3

new_name = str(input("If you are not happy with your name, type 'New name please', if you're good, type I'm good.")).upper 
if new_name in ["NEW NAME PLEASE", "NEW NAME PLEASE.", "NEW NAME PLZ"]: 
    print("Ok, you're Hugh Janus! Try not to say that out loud.") 
else: 
    print("Lovely! Let's carry on!") 

Das Programm wird nicht erkannt, wenn ich "neuen Namen bitte" eintippe. Ich habe sogar versucht, alle Kästchen einzutippen, um zu sehen, ob es ein Problem mit .upper war, aber nichts passierte.

+2

Sie müssen _call_ 'Upper'. Fügen Sie am Ende Klammern hinzu. – Lafexlos

+3

'.upper' ist nicht' .upper() '; BTW 'input()' gibt eine Zeichenkette in Python 3 zurück, so dass es nicht benötigt wird –

+2

Sie tun zu viel in einer einzigen Codezeile (die erste Zeile). Sie sollten es aufteilen, damit Sie sehen, was das Problem ist. –

Antwort

1

Entfernen Sie str aus Zeile 1, da inputstring zurückgibt. In Zeile 1 ändern Sie auch upper zu upper() Das sollte Ihr Problem beheben.

0

Ich habe es gerade mit der Zeichenfolge "NEW NAME BITTE" getestet, Sie müssen Klammern am Ende von Upper() haben, da es eine Methode ist.

Verwandte Themen