我一直在试图做一个函数,它需要一个数字并通过猜想来运行它。我写了这段代码,但它不起作用。我是初学者,所以我不知道为什么它不起作用。它不是贯穿数字并停在1,而是永远持续下去。如果有人可以看看我的代码,并告诉我什么是错的,那真的很有帮助。Python中的Collazt猜想
def collatz(number):
number = int(number)
while number != 1:
if number == 1:
break()
if number%2 == 0:
number = number//2
print(str(number))
if number%2 == 1:
number = 3*number+1
print(str(number))
collatz(5)
第一件事,这个'如果数== 1: 休息()'是无用的,因为它是多余的你,而条件 – njzk2
这甚至不应该编译。 break()是一个语法错误。 – user2357112