我目前有麻煩「自動無聊的東西」完成這個挑戰在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