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:"))