我目前有麻烦“自动无聊的东西”完成这个挑战在Collatz功能:实现使用Python
我的代码是:
def collatz(number):
global seqNum
if (seqNum % 2 == 0):
return seqNum // 2
elif (seqNum % 2 == 1):
return 3 * seqNum + 1
print('What number would you like to use?')
seqNum = input()
number = int(seqNum)
i = number
while i > 1:
collatz(seqNum)
print(number)
而且我得到这个错误:
"Traceback (most recent call last):
File "C:/Users/Administrative/AppData/Local/Programs/Python/Python36-32/collatzSeq.py", line 15, in <module>
collatz(seqNum)
File "C:/Users/Administrative/AppData/Local/Programs/Python/Python36-32/collatzSeq.py", line 3, in collatz
if (seqNum % 2 == 0):
TypeError: not all arguments converted during string formatting"
我知道我在做SOMETHIN G写错了我的代码,但我不明白它到底是什么。任何和所有的帮助,非常感谢!
我也是使用python 3
你不使用你的说法。我想你想使用数字,而不是SEQNUM。而这不起作用,因为输入返回一个字符串,这不是一个数字。此外,你并不需要一个'elif',你可以使用'else',因为唯一的其他可能的值是1. – jszakmeister
^并且在那里摆脱全局声明,这不是帮助 – FreshPow