2017-06-21 9 views
0

Neu Programmierung und starten auf dem Buch zu automatisieren die langweiligen Sachen in dem Buch gibt es einen Teil des Codes, der erwähnt, den Namen einer Person zu fragen, und wenn es kein spezifischer Name ist, um zu überprüfen Alter der Person und je nach Alter passiert eines von drei Dingen. Das Problem ist, das Buch geht nicht über den Eingabeteil davon. Ich kann den Namen in Ordnung bekommen, aber ich kann es nicht erreichen, dass ich das Alter als ganze Zahl eingeben und dann diese ganzen Zahlen mit meinen elif-Aussagen vergleichen kann. Was mache ich falsch, beachte, dass ohne das if Alter < int (12) mir gesagt wird, dass Sie str und int Werte und die Codefehler nicht vergleichen können. Jede Hilfe ist sehr zu schätzen.Python Alter und Vergleich mit Eli Aussagen

print('What is your name?') 
    name=input() 
    if name == 'Alice': 
     print('Hi,Alice.') 
    elif name != 'Alice': 
     print('How old you is?????') 
     age=input() 
     int(age) 
     age=int(age) 
    if age < int(12): 
    print('You are not Alice,kiddo.') 
elif age > int(2000): 
    print('Unlike you, Alice is not an undead, immortal vampire.') 
elif age > 100: 
    print('You are not Alice, grannie.') 
+0

Abgesehen von Einzugsproblemen funktioniert der Code einwandfrei. Was funktioniert nicht für dich? Was ist die genaue Fehlermeldung und Traceback? –

+0

Nachdem ich mein Alter gefragt habe, egal was ich in die nächste Zeile lege, ist >>> und nicht irgendeine der elif Auswahlmöglichkeiten. – throwawaylearner1987

+0

Ich habe gerade festgestellt, dass ich nur eine Aussage mache, wenn das Alter weniger als 12 oder größer als 100 oder 2000 ist, und nichts, wenn es zwischen 12 oder 100 liegt. Ich denke, dass dies einige meiner Probleme verursacht haben könnte. – throwawaylearner1987

Antwort

0

Die Eingabefunktion gibt eine Zeichenfolge zurück. So konvertiert das Ergebnis legt die int() Funktion, wie Sie im folgenden Code sehen

print('What is your name?') 
name=input() 
if name == 'Alice': 
    print('Hi,Alice.') 
    age = 12 
elif name != 'Alice': 
    print('How old you is?????') 
    age=int(input()) 
if age < 12: 
    print('You are not Alice,kiddo.') 
elif age > 2000: 
    print('Unlike you, Alice is not an undead, immortal vampire.') 
elif age > 100: 
    print('You eare not Alice, grannie.') 
+0

Also, wenn ich diesen Code benutze, werde ich unabhängig von dem Namen gebeten, ein Alter anzugeben. Jede Zahl, die ich einstelle, bringt keine der drei Eli-Optionen zum Vorschein. – throwawaylearner1987

+0

Ich entschuldige mich, dass ich vergessen habe, dass die Alice Hauptstadt A sein muss. Der andere Teil über die Zahl, die keine der Eli-Anweisungen auslöst, bleibt jedoch bestehen. – throwawaylearner1987

+0

Eigentlich sollte man nie wieder mit dem Code spielen, das funktioniert wie vorgesehen. Vielen Dank! – throwawaylearner1987

-1

Betrachten Sie die raw_input() Funktion für die allgemeinen Eingaben von Benutzern verwendet wird. Es gibt einige Unterschiede zwischen raw_input() und input(), und raw_input() ist das, was Sie benötigen, um den eingegebenen Namen zu erhalten. raw_input ([prompt]) -> string, liest eine Zeichenfolge aus der Standardeingabe. Eingabe ([Eingabeaufforderung]) -> Wert, Äquivalent zu eval (raw_input (Eingabeaufforderung)).