问候计划

Kbo*_*998 6 python eclipse if-statement pydev new-operator

我一直在学习如何使用"Python绝对初学者指南"这本书编写Python程序.我遇到的问题是,使用eclipse-pydev它时不允许我使用该if语句.这是我写的代码......

name = input("What is your name? ")
print(name)
print("Hello" name )
Run Code Online (Sandbox Code Playgroud)

结果是

What is your name? caleb
Traceback (most recent call last):
  File "/Users/calebmatthias/Document/workspace/de.vogella.python.first/simpprogram.py", line 6, in <module>
    name = input("What is your name? ")
  File "/Users/calebmatthias/Desktop/eclipse 2/plugins/org.python.pydev_2.2.3.2011100616/PySrc/pydev_sitecustomize/sitecustomize.py", line 210, in input
    return eval(raw_input(prompt))
  File "<string>", line 1, in <module>
NameError: name 'caleb' is not defined
Run Code Online (Sandbox Code Playgroud)

当我if发言时,我说

name = input("What is your name? ")
if name == ("Caleb"):
    print(" Hello Bud!")
Run Code Online (Sandbox Code Playgroud)

结果是

  What is your name? Caleb
Traceback (most recent call last):
  File "/Users/calebmatthias/Document/workspace/de.vogella.python.first/simpprogram.py", line 6, in <module>
    name = input("What is your name? ")
  File "/Users/calebmatthias/Desktop/eclipse 2/plugins/org.python.pydev_2.2.3.2011100616/PySrc/pydev_sitecustomize/sitecustomize.py", line 210, in input
    return eval(raw_input(prompt))
  File "<string>", line 1, in <module>
NameError: name 'Caleb' is not defined    
Run Code Online (Sandbox Code Playgroud)

mpe*_*pen 9

raw_input而不是input.

Python开发人员可能应该重命名这些函数,以便更清晰,初学者不会那么容易混淆.

当你输入caleb提示时,input它试图评估caleb哪个看起来像一个变量.该变量caleb尚未定义,因此它引发了该异常.


jdi*_*jdi 4

原因是您使用的input函数期望用户输入一个可以计算为 python 表达式的字符串。尝试将其更改为raw_input不会尝试评估,而是为您提供原始字符串。另外,尝试只执行打印语句,例如:print "Hello", name 您在第一个示例中缺少逗号分隔符。