0

我正在从这里阅读在线 python 教程书。代码如下所示。当我执行代码时,我可以在其中输入文字,但它给了我下面的错误。代码有什么问题?

在相关说明中,如果您有更好的 Python 学习资源,请告诉我。我正在寻找一个在线并经常更新的(例如:railstutorial.org)。即使在本书的早期,我使用的资源也有很多错误。谢谢。

Enter something : programmig is fun
Traceback (most recent call last):
  File "break.py", line 5, in <module>
    s = input('Enter something : ')
  File "<string>", line 1, in <module>
NameError: name 'programmig' is not defined

#!/usr/bin/python
# Filename: break.py

while True:
    s = input('Enter something : ')
    if s == 'quit':
        break
    print('Length of the string is', len(s))
print('Done')
4

2 回答 2

2

这是python 3代码。似乎您正在使用 python 2 运行它。

运行python --version以检查您使用的是哪个版本的 python。

于 2012-10-24T20:24:26.207 回答
1

input()没有得到一个字符串,所以它认为这programmig是一个变量。您可以在引号中键入所需的输入来解决此问题。
然而,更好的方法是使用raw_input,它返回一个字符串。
所以要么做Enter something : 'programmig is fun',不推荐,要么做s = raw_input('Enter something : ') 推荐的方式

造成混淆的原因是这本书可能是针对 python 3的,当您使用 python 2.x 时,它有一个不同input的,也有一个不同的 。print

于 2012-10-24T20:25:25.970 回答