2013-03-09 118 views
1

我很確定所有的代碼都是正確的;我相信這個錯誤可能是安裝文件的錯誤。奇怪的Python 3錯誤

a,b = input('Enter in format number^power: ').split('^') 
a = int (a) 
b = int (b) 
result = a**b 
print (result) 
input() 

當我在IDLE中運行它時,它完美地工作;但是,如果我在終端中運行腳本,它會給我這個錯誤:

Traceback (most recent call last): 
File "C:\Users\xxx\Desktop\calculator.py", line 1, in <module> 
a,b = input('Enter a range: ').split('^') 
AttributeError: 'int' object has no attribute 'split' 

我該做什麼錯?

+0

您正在Python 2中運行此代替。 – 2013-03-09 23:01:34

回答

3

您與蟒蛇2.

運行它在Python 2,input返回之前評估輸入,所以如果你做提示說,它會返回一個int。

0

如果它在IDLE中正常工作,但在終端中失敗,那麼很可能python文件的標準處理程序未設置爲Python 3,而是Python 2.如果您直接調用腳本,即僅使用./scriptname.py,則shebang將決定使用哪個Python分析器來執行腳本。

使用Python 3,添加以下家當線在你的文件的開始:

#!/usr/bin/env python3 

注意,這也支持在Windows按PEP-397