2012-10-16 118 views
2

我是Python 3.1的新手,在PyScripter上通過它工作。Python 3.1 NameError頭疼

一切似乎都進展順利,直到我編寫的程序在PyScripter中執行時運行良好,但在cmd窗口中運行時失敗。我沒有將所有代碼都包含在內,而是將問題隔離到一個包含input()函數的部分。

這是我有:

myname = input('? ') 
print (myname) 
input ('Press any key to end') 

這工作正常PyScripter,我在我的姓名後,按回車,出現的名字,但是當我嘗試在cmd窗口中,我得到運行以下結果:

F:\Python_Programs\input.py 
? Fenton 
Traceback (most recent call last): 
    File "F:\Python_Programs\input.py", line 17, in <module> 
    myname = input('? ') 
    File "<string>" line 1, in <module> 
NameError: name 'Fenton' is not defined` 

任何想法?

+1

順便說一句,3.1(雖然不像過去那樣嚴重過時和有缺陷)是兩個主要版本。你會得到兩個世界中最糟糕的:沒有2.x兼容性,但只有一小部分是令人敬畏的新東西。任何不使用3.2或3.3的理由? – delnan

回答

4

您的「命令窗口」使用Python 2而不是3.在版本2中,您應該使用raw_input

+1

解決方法可能更多的是更改'.py'文件的文件關聯,而不是放棄並使用Python 2語法。 – geoffspear

+0

謝謝丹尼爾。我剛剛通過將import sys print(sys.version_info)插入代碼中發現了我自己。它看起來像CMD使用我以前安裝的2.7版本。我試圖刪除我的問題,但無法回覆,因爲您已經回覆。感謝您花時間這樣做。 – FentonQueue