奇怪的Python 3错误

时间:2013-03-09 22:59:09

标签: python attributes python-idle

我很确定所有代码都是正确的;我相信错误可能是安装文件的错误。

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'

我可能做错了什么?

2 个答案:

答案 0 :(得分:3)

您正在使用python 2运行它。

在python 2中,input在返回之前评估输入,因此如果你按照提示所说的那样返回一个int。

答案 1 :(得分:0)

如果它在IDLE中正常工作但在终端中失败,那么python文件的标准处理程序很可能不是设置为Python 3而是设置为Python 2.如果直接调用脚本,即仅使用{{1}然后shebang将确定将使用哪个Python解析器来执行脚本。

要使用Python 3,请在文件的最开头添加以下shebang行:

./scriptname.py

请注意,Windows PEP-397也支持此功能。