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