【发布时间】:2020-10-09 07:43:51
【问题描述】:
我想构建一个函数,如果输入的整数在 1 到 10 之间,则返回结果。
这是我的代码:
while True:
try:
num = int(input("Enter a number (1-10): "))
except ValueError:
print("Wrong input")
else:
if 1 <= num <= 10:
break
else:
print("Wrong input")
continue
当您输入一个整数时,break 无法正常工作,它似乎进入了一个明确的循环。将if 语句并入else 是不是错了?
【问题讨论】:
-
我无法重现您描述的问题。当我运行您显示的代码时,它会按我的预期工作。您能否展示一个产生错误结果的示例系列输入?我看到的唯一问题是
10不被接受。 -
@Blckknght,感谢您的及时回复。这让我感觉轻松了一些。也许这与我在 Jupyter 笔记本上运行它的事实有关。只要输入错误值,它就可以正常工作,但是一旦我输入一个整数,它就会在单元格的左侧显示 In [*] 并停止显示输出。是的,我需要将数字 9 更改为 10,谢谢。
标签: python-3.x if-statement while-loop jupyter-notebook try-catch