Tôi hiện đang gặp khó khăn hoàn thành thử thách này trong "Tự động hóa những thứ nhàm chán":Thực hiện chức năng Collatz sử dụng Python
Mã của tôi là:
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)
Và Tôi nhận này lỗi:
"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"
Tôi biết tôi đang làm SOMETHIN G sai với cách tôi viết mã của mình nhưng tôi không hiểu chính xác nó là gì. Bất kỳ và tất cả trợ giúp được đánh giá cao!
Ngoài ra tôi đang sử dụng python 3.
Bạn không sử dụng lập luận của bạn ... Tôi nghĩ rằng bạn muốn sử dụng số thay vì SEQNUM. Và điều này không làm việc vì đầu vào trả về một chuỗi, mà không phải là một số. Ngoài ra, bạn không thực sự cần 'elif', bạn chỉ có thể sử dụng' else' vì giá trị duy nhất có thể khác là 1. – jszakmeister
^và loại bỏ khai báo toàn cầu ở đó, điều đó không giúp ích cho – FreshPow