我正在尝试使用"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