输入值介于 x 和 y 之间



所以我需要从用户那里收集输入,但我必须确保在程序接受他们的输入之前,他们只能输入 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()

相关内容

  • 没有找到相关文章

最新更新