所以我需要收集用户的输入,但我必须确保他们只能在程序接受输入之前输入介于1和0之间的数字。 这是我到目前为止所得到的:
ValueError
有人可以编辑或向我解释如何添加其他规则以及{{1}}以便它只接受1到0之间的数字吗?
答案 0 :(得分:5)
您无法在捕获异常时检查同一行中的值。 试试这个:
def user_input():
while True:
initial_input = input("Please enter a number between 1 and 0")
if initial_input.isnumeric() and (0 <= float(initial_input) <= 1):
return float(initial_input)
print("Please try again, it must be a number between 0 and 1")
修改强>
删除了try / except并改为使用isnumeric()
。