检查用户输入是否在两个浮点数之间 - Python

Check if user input is between two floats - Python

我目前正在开发一个小项目,它将接受用户输入(例如“50”),并将其转换为浮点数,同时将小数点放在左侧,例如“0.50”-这部分我有以我想要的方式工作,但我现在遇到的问题似乎无法解决是检查该值是否介于其他两个浮点值之间。这是我目前所拥有的。

value = float(input("Enter number: "))
value /= 100

if 0.61 <= value <= 69:
    value = value - 0.049 # don't worry about this part
    

elif 0.70 <= value <= 79:
    value = value - 0.10 # don't worry about this part
    


"""
if value >= 0.61:        
    value = value - 0.049

if value >= 0.70:        
    value = value - 1.5
"""

当我输入任何大于 69 的值时,例如 70 或 71 等等。该程序似乎没有意识到我正在尝试以不同的方式调整该值,就好像输入是 65,该程序知道该做什么就好了。底部是我尝试过但没有得到任何运气的其他东西。

我是不是用错了elif?为什么我无法正确阅读第二个 if 语句?或者是否有函数或其他东西可以让我检查值是否在两个浮点范围之间?

感谢您的努力。

欢迎来到 SO。

编辑: 应符合您的评论的解决方案。

value = float(input("Input a number"))

if value >= 0.61 and value <= 0.69:
   #whatever should happen here
   

elif value >= 0.70 and value <= 0.79:
   #whatever you want to happen here

你真的需要将这个值除以 100,如果是这样,你将永远不会进入第二个循环,因为第一个 if 语句将在你的值介于 0.69 and 69 之间时执行,这是任何值如果你将它除以 100 就可以,因此它永远不会进入第二个 if 语句。

如果您确实想保留 /100 但同时执行两个语句,那么您只需将 elif 更改为和 if 即可,因此如果语句为真,它也会被执行。这将执行 BOTH if 语句。

value = float(input("Input a number"))
value /= 100

if value >= 0.61 and value <= 69:
   #whatever should happen here
   

if value >= 0.70 and value <= 79:
   #whatever you want to happen here

这样,如果输入的值为 70,结果将是执行两个 if 语句。

如果您可以省略 /100,那么此处的代码有效,并且仅执行一个 if 语句。

value = float(input("Input a number"))

if value >= 61 and value <= 69:
   #whatever should happen here
   

elif value >= 70 and value <= 79:
   #whatever you want to happen here