【发布时间】:2020-05-12 10:30:24
【问题描述】:
我正在尝试在 Python 中运行 collatz,但在考虑不是整数的输入时遇到了麻烦。我希望在考虑用户非整数输入的代码中使用 Try and except 来工作。请在下面查看我的代码。
number = int(input("Please enter a number: "))
def collatz(number):
if number % 2 == 0:
print(number // 2)
return number // 2
elif number % 2 == 1:
print(number * 3 + 1)
return number * 3 + 1
while number != 1:
try:
number = collatz(int(number))
except ValueError:
print("Something went wrong, please try again...")
【问题讨论】:
-
我相信
collatz()中的elif可以换成简单的else。 -
@AMC。谢谢你的建议。由于某种原因它不喜欢它。它只需要'elif'。
-
你说的不喜欢是什么意思?
-
@AMC
elif允许我有另一个条件,这是我需要我的代码做的事情。else不允许其他条件。 -
我的意思是,在您上面分享的代码中,应该可以用 else 替换 elif。如果
number % 2不为0,那一定是1,不用第二次检查吧?
标签: python exception input error-handling try-catch