Python if statement confusing me
本问题已经有最佳答案,请猛点这里访问。
运行python v3.6.5 pycharm我有一个简单的for循环,其中包含if和else语句:
1 2 3 4 5 | for i in range(10): if i > 3 < 5: print(i,"first") else: print(i,"second") |
我得到的输出是:
1 2 3 4 5 6 7 8 9 10 | 0 second 1 second 2 second 3 second 4 first 5 first 6 first 7 first 8 first 9 first |
但输出不应该是:
1 2 3 4 5 6 7 8 9 10 | 0 second 1 second 2 second 3 second 4 first 5 second 6 second 7 second 8 second 9 second |
你自己试试。这对我来说没有意义。为什么要这样做?
不需要知道我知道你可能在想,你为什么不直接说
1 | if i == 4 |
但这只是我程序中的一个简化问题。
提前谢谢
雨果
像
1 | i > 3 and 3 < 5 |
其中"中间"操作数对左、右运算符重复。你想要
1 | 3 < i and i < 5 |
可缩写为
正确的语法是:
1 | if 3 < i < 5: |
请注意,python在这里是特殊的,而且这个构造在大多数其他语言中都不起作用(在这里您必须说一些类似于