为什么这段代码不起作用? (新编码)

时间:2015-07-20 15:14:44

标签: python

我一直在eclipse上使用python,当我提问时我遇到了麻烦,而且回复包括字母(数字答案工作)。例如,如果我问

x=input("what is your name")
print(x)

这会给我一个类似于底部的错误消息。以下是我尝试使用与上述代码相同的错误。

x=input("enter a number")
y=input("enter a second number")
z=input("add, divide, or multiply?")

if(z == "add"):
    print(x+y)

if(z == "divide"):
    print(x/y)

if(z == "multiply"):
    print(x*y)

else:
    print("error")

下面是我得到的部分,我必须选择"添加,分割或乘以"

Traceback (most recent call last):
  File "/Users/jacobmaldonado/Desktop/untitled folder/abc/src/def.py", line 10, in <module>
    z=input("add, divide, or multiply?")
  File "/Users/jacobmaldonado/Downloads/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev_4.2.0.201507041133/pysrc/pydev_sitecustomize/sitecustomize.py", line 141, in input
    return eval(raw_input(prompt))
  File "<string>", line 1, in <module>
NameError: name 'add' is not defined

1 个答案:

答案 0 :(得分:1)

在Python 2.x中,input尝试评估作为Python表达式输入的字符串,使其等效于

z = eval(raw_input("add, divide, or multiply?"))

您想要使用raw_input,而只返回键入的字符串。

在Python 3.x中,只有一个函数input,它实际上是raw_input重命名的。