如何使用if/and?



我正在尝试使用"and" if-function。它不起作用——有没有更好的方法或更好的命令?下面是我的代码示例:

if measure >= 4.52 and <= 4.58:
optimal += measure
total += measure
count += 1
elif measure >= 4.50 and <= 4.60:
allowed += measure
total += measure
count += 1
else:
faulty += measure
total += measure
count += 1

谢谢你的帮助!

您需要在if条件中重复measure。像这样:

if measure >= 4.52 and measure <= 4.58:
optimal += measure
total += measure
count += 1
elif measure >= 4.50 and measure <= 4.60:
allowed += measure
total += measure
count += 1
else:
faulty += measure
total += measure
count += 1

问题不在于if,而在于and。把if从图片中拿出来一秒钟:

>>> measure = 4.53
>>> measure >= 4.52 and <= 4.58
File "<stdin>", line 1
measure >= 4.52 and <= 4.58
^
SyntaxError: invalid syntax

这是无效的,因为<= 4.58本身不是一个有效的语句。

>>> measure >= 4.52 and measure <= 4.58
True

现在您有了一个有效的布尔语句(由and将另外两个布尔语句组合在一起产生),您可以在if语句中使用它:

>>> if measure >= 4.52 and measure <= 4.58:
...     print("success!")
... 
success!

如果你想检查一个值是否在两个值之间,你根本不需要and;还可以将不等式运算符组合成一条语句,如下所示:

>>> 4.52 <= measure <= 4.58
True

最新更新