x和y之间的输入值

时间:2016-02-15 14:28:07

标签: python python-3.x numbers user-input

所以我需要收集用户的输入,但我必须确保他们只能在程序接受输入之前输入介于1和0之间的数字。 这是我到目前为止所得到的:

ValueError

有人可以编辑或向我解释如何添加其他规则以及{{1}}以便它只接受1到0之间的数字吗?

1 个答案:

答案 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()