有人能解释一下为什么我会收到错误信息和/或如何修复它吗?你知道吗
def mersenne(n):
return (2**n-1)
print('Enter a number')
numberOne = input()
mersenne(numberOne)
print('Enter a number')
numberTwo = input()
mersenne(numberTwo)
print('Enter a number')
numberThree = input()
mersenne(numberThree)
print('Your Mersenne numbers are ' + numberOne + ', ' + numberTwo + ', ' + numberThree + '.')
我在空闲时收到的错误消息是
TypeError: unsupported operand type(s) for ** or pow(): 'int' and 'str'
将输入强制转换为
int
,并将mersenne
的返回值赋给一个变量:也不能用
+
将整数连接到字符串。(这不是JavaScript)。上面的代码在python3中使用print
函数。如果您使用的是Python 2,则始终可以回溯到str
:您需要像这样强制转换输入:
int(input("Enter a number: "))
你得把输入从字符串转换成整数。您可以通过以下任一方法来实现:
它会自动使输入成为整数或:
在运行函数时将输入转换为数字。也可以使用
float()
和/或raw_input()
。只需记住将输入更改为整数或浮点数!我希望这对你有帮助!不使用函数
return
行中的int
,您可以使用:相关问题 更多 >
编程相关推荐