for i in range(10):
if i > 3 < 5:
print(i, "first")
else:
print(i, "second")
0 second
1 second
2 second
3 second
4 first
5 first
6 first
7 first
8 first
9 first
0 second
1 second
2 second
3 second
4 first
5 second
6 second
7 second
8 second
9 second
亲自尝试一下。这对我来说没有意义。为什么要这样做?
我知道你可能在想,你为什么不这么说
if i == 4
但这只是我程序中的一个简化问题。
提前致谢
雨果
答案 0 :(得分:7)
像i > 3 < 5
这样的运算符链被解释为
i > 3 and 3 < 5
其中&#34;中间&#34;左右操作符重复操作数。你想要
3 < i and i < 5
,可以缩写(使用前面解释的反向)作为3 < i < 5
。
答案 1 :(得分:6)
正确的语法是:
if 3 < i < 5:
请注意,Python在这里很特别,而且这种结构在大多数其他语言中都不起作用(在这里你不得不说3 < i and i < 5
之类的东西)。