2017-02-28 11 views
-3

Was mache ich falsch?Was mache ich falsch? bitte

num = [] 
inp = raw_input("please enter a series of numbers separated by a space\n") 
num = [ int(i) for i in inp.split()] 
print(num) 

quit_program = input("Would you like the average or would you like to quit?") 
if quit_program == quit: 
    quit() 
elif quit_program == average: 
    print mean(num) 

es dieses

quit_program = input("Would you like the average or would you like to quit?") 
    File "<string>", line 1, in <module> 
NameError: name 'average' is not defined 
+0

Sie die Variable nicht definiert haben 'average' – Zroq

+1

Ja, weil es nicht' average' Variable definiert ist und 'quit' in' wenn quit_program == beenden: ' bezieht sich auf die * Funktion * 'quit()' –

+0

Ich nehme an, dass Sie "quit" und "average" als Strings meinen, also sollten diese in Anführungszeichen stehen. – String

Antwort

1

Ihr Stack-Trace sagt:

Online: quit_program = input("<snip>") es den Fehler bekommt NameError: name 'average' is not defined, wenn Sie gebenaverage.

input() in python2.7 läuft, was Sie eintippen (es ist äquivalent zu eval(raw_input()). In diesem Fall ist es versucht average die Eingabe war Benutzer ausführen. Sie wollen nur raw_input().

Dann sind Sie, dass die Eingabe vergleichen möchten wie Menschen in Strings, haben vorgeschlagen:..

quit_program = raw_input("Would you like the average or would you like to quit?") 
if quit_program == "quit": 
    quit() 
elif quit_program == "average": 
    print mean(num) 
0

Sie haben verlassen und durchschnittlich nicht definiert sagt immer wieder. Sie suchen nach Benutzereingaben, bei denen es sich um eine Zeichenfolge handelt. Strings brauchen "Anführungszeichen" um sie herum. das ist gut: „Ich habe eine Zeichenfolge bin“ Das ist schlecht: Ich bin kein String

+0

Und nur um ganz klar zu sein, könnte es entweder einzelne oder doppelte Anführungszeichen sein. "Ich bin eine Saite" oder "Ich bin eine Saite", beides funktioniert gut. –

+0

@FredLarson ok, ich benutze nicht wirklich Python, also wusste ich nicht über einzelne Anführungszeichen, die auch arbeiten. –