我已经开始学习Python了。我写了这段代码来检查数字是偶数还是奇数。如果数字是偶数,则取该数字并除以2.如果数字是奇数,则将数字乘以3并加1。
我不知道在哪里放置while循环。
我的代码:
def collatz(number):
if number % 2 == 0:
return number / 2
else:
return 3 * number + 1
print("Enter the number: ")
qassam = int(input())
print(collatz(qassam))
我想退出任何if条件的结果== 1.怎么做?
答案 0 :(得分:1)
您希望在当前号码不是1时继续调用您的功能。因此请使用while number != 1
。
def collatz(number):
if number % 2:
number = (3 * number) + 1
else:
number = number//2
print(number)
return number
number = int(input("Number: "))
while(number != 1):
number = collatz(number)
答案 1 :(得分:0)
def collatz(number):
If number%2==0:
return number //2
else:
return 3*number+1
userInput = int(input())
while userInput != 1:
userInput = collatz(userInput)
print(userInput)
我希望这会有所帮助.. 根据您提供的链接中的信息,当您执行num // 2(地板分割,因为您只需要整数而不是浮动)时,每个数字最终变为1,偶数和3 * num + 1的结果反复出现