0

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

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'

我可能做错了什么?

4

2 回答 2

3

您正在使用 python 2 运行它。

在 python 2 中,input在返回之前评估输入,因此如果您按照提示进行操作,它将返回一个 int。

于 2013-03-09T23:01:24.120 回答
0

如果它在 IDLE 中正常工作但在终端中失败,那么很可能 python 文件的标准处理程序没有设置为 Python 3 而是 Python 2。如果您直接调用脚本,即使用 just ./scriptname.py,那么shebang将确定哪个Python 解析器将用于执行脚本。

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

#!/usr/bin/env python3

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

于 2013-03-09T23:08:21.910 回答