Python 在函数中构造While循环以检查用户输入是否落在两个浮点值之间

Python 在函数中构造While循环以检查用户输入是否落在两个浮点值之间,python,python-2.7,Python,Python 2.7,我正在构造一个函数,它将一个参数作为一个值。该值将转换为浮点值,以检查它是否存在于两个边界之间,这两个边界也是浮点值。如果用户输入值未落在边界之间,请继续向用户询问输入值 def check(value): value = float(value) while -10.0 > value < 1.5: value = raw_input("False. Please enter a number:") else: return

我正在构造一个函数,它将一个参数作为一个值。该值将转换为浮点值,以检查它是否存在于两个边界之间,这两个边界也是浮点值。如果用户输入值未落在边界之间,请继续向用户询问输入值

def check(value):
    value = float(value)
    while -10.0 > value < 1.5:
        value = raw_input("False. Please enter a number:")
    else:
        return True
此外,我为上面代码的任何奇怪格式表示歉意。当我复制并粘贴到这里时,我不知道如何将整个代码块显示在一起

编辑:

所以在我看到其他答案之前,我重新编写了一些代码;我还意识到我发布的代码中的语法是错误的,因此我在新代码中对其进行了相应的更改。以下是我现在提出的一个答案,我也希望得到一些关于我的新解决方案的反馈: def校验值:

value = float(value)

if -10.0 < value < 1.5:
    return True

while not -10.0 < value < 1.5:
    value = float(raw_input("False. Please enter a number:"))

数字不能同时小于-10.0和大于1.5,因此while条件也将为False,循环将始终立即结束。由于循环期间没有中断,因此始终会执行else块,因此始终返回True

应使用or运算符检查输入是否超出范围:

while -10.0 > value or value > 1.5:
    value = float(raw_input("False. Please enter a number:"))

while循环条件只有在所有不可能发生的不等式都为真时才为真。再次读取数字后,还必须将其转换为float
while -10.0 > value or value > 1.5:
    value = float(raw_input("False. Please enter a number:"))