簡體   English   中英

Python教程中的Traceback NameError

[英]Traceback NameError in python tutorial

我正在從這里閱讀在線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')

這是python 3代碼。 似乎您正在使用python 2運行它。

運行python --version來檢查您正在使用的python版本。

input()沒有獲得字符串,因此它認為programmig是變量。 您可以輸入所需的引號來解決此問題。
但是,更好的方法是使用raw_input ,它返回一個字符串。
因此,無論你Enter something : 'programmig is fun' ,不推薦,還是s = raw_input('Enter something : ') 推薦的方法

造成混淆的原因是,這本書可能是針對python 3的,使用python 2.x時,它的input不同, print也不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM