有什么阻止我的代码从输入一个数字后运行?(Lothar Collatz假说)


number = int(input("Enter any non-negative and non-zero integer number: "))
counter = 0
while number > 0 and number != 1:
counter = +1
if number % 2 == 0:
number = number/2
if number % 2 == 0:
number = number/5
else:
number = (number*3)+1
else:
if number % 2 == 0:
number = number/2
else:
number = (number*3)+1
print("Your number took", counter, "steps")

您需要将counter= +1更改为counter += 1,并且您可以像这样更改if-else语句:

number = int(input("Enter any non-negative and non-zero integer number: "))
counter = 0
while number > 0 and number != 1:
counter += 1
print(number)
if number % 2 == 0:
number = number/2
else:
number = number*3+1
print("Your number took", counter, "steps")
c = int(input("Enter any non-negative and non-zero integer number:"))
step = 0
while c >1: 
if c%2 == 0:
c = c/2
else:
c = 3*c + 1
step += 1
print(int(c))
print("How many steps did it take?", step)

最新更新