Şu anda sorun "sıkıcı şeyler Otomatik" in bu zorluğu tamamlayarak yaşıyorum kullanarak Collatz fonksiyonunu uygulamak:Python
Benim kodudur:
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)
Ve bu soruyla hata:
"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 yapıyorum biliyorum Kodumu nasıl yazdığımı yanlış ama tam olarak ne olduğunu anlamıyorum. Her türlü yardım büyük beğeni topluyor! Ayrıca ben
... Ben yerine SEQNUM sayısını kullanmak istiyorum düşünüyorum. Ve bu işe yaramaz çünkü girdi bir sayı değil, bir dizge döndürür. Ayrıca, gerçekten bir "elif" e ihtiyacınız yok, sadece 'else' değerini kullanabilirsiniz, çünkü diğer olası değer 1'dir. – jszakmeister
^ve oradaki küresel bildirgeden kurtulun, bu da – FreshPow