【问题标题】:Error compiling python [duplicate]编译python时出错[重复]
【发布时间】:2017-11-21 17:00:08
【问题描述】:

每当我尝试执行此代码时:

name = input("What's your name?")
print("Hello World", name)

通过在命令行上运行命令python myprogram.py,它给了我这个错误:

What's your name?John
     Traceback (most recent call last):
         File "HelloWorld.py", line 1, in <module>
             name = input("What's your name?")
         File "<string>", line 1, in <module>
     NameError: name 'John' is not defined

它会询问我的名字,但是当我输入它并按 Enter 时它崩溃了,这个错误是什么意思? 谢谢。

【问题讨论】:

  • 该错误表示您使用的是 Python 2.x。
  • @Carcigenicate 我知道,这就像我所看到的新记录
  • 这似乎已经回答了:stackoverflow.com/questions/16179875/…
  • @Greg 是的,已经回答了 100 次以上。

标签: python


【解决方案1】:

在 Python 2 中,在这种情况下,您应该使用 raw_input 而不是 input

【讨论】:

  • 好的,这解决了问题,但是我检查了 dnf(我使用的是 Fedora 25)并且我确实有 Python 3.5.4,所以我应该能够使用 input 而不是 raw_input
  • @BeppeChiari 拥有 Python 3.x 并不意味着您使用的是 Python 3.x。
  • 你能用python --version检查你的实际版本吗?
  • 做到了,它说 Python 2.7.13,我该如何改变它?我正在使用 Fedora 25
  • @BeppeChiari 请自行研究。
【解决方案2】:

假设您只输入 (John) 时使用的是 python 2,它会将其解释为变量。您要么需要输入 ("John"),强制它看到一个字符串,要么在第一行使用 name = raw_input()。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 2018-01-15
    • 2014-11-07
    • 2016-12-26
    • 1970-01-01
    相关资源
    最近更新 更多