2017-02-28 75 views
-3

我做错了什么?我在做什么错?请

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) 

口口声声说这

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

您还没有定义的变量'average' – Zroq

+1

是的,因为没有在''average'变量定义和'quit'如果quit_program ==退出:'指*函数*'quit()' –

+0

我想你的意思是“退出”和“平均”作为字符串,所以这些应该在引号中。 – String

回答

1

你的堆栈跟踪说:

在线:quit_program = input("<snip>")它获得误差NameError: name 'average' is not defined当你键入average

在Python2.7

input()运行任何你输入(它相当于eval(raw_input())。在这种情况下,它试图运行average这是用户的输入。你只想raw_input()

然后你要比较的是输入为字符串,因为人们建议:。

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

还没有定义退出和平均。 您正在检查用户输入,它是一个字符串。 字符串需要“引号”在他们周围。 这是件好事: “我是一个字符串” 这是不好: 我不是一个字符串

+0

只要非常清楚,它可以是单引号或双引号。 ''我是一个字符串''或''我是一个字符串'''两者都很好。 –

+0

@FredLarson好吧,我真的不使用Python,所以我不知道单引号的工作。 –