关于python的if语句中and与in连用遇到的坑
先上图:
大家可以在自己推一下结果,下面是计算机运行的结果
对比结果,翻译成中文大概就是
第一次:如果1或4在L中,那么通过,
第二次:如果1和4在L中,那么通过,
第三次:如果4和1在L中,那么通过,
第四次:如果1在L中和如果4在L中,那么通过
综上,第一次不用解释,而第二次和第三次都是and,但是似乎因为检索的顺序不同,最终结果也不一样,
这里and连用,似乎最终判定是由后面的元素决定的,第二次是检查4的时候发现没有,于是没有通过,第三次是检查1,发现存在于是通过,根据这个规律,我猜测python内部读取这两行代码的规则应该是如下的:
以第三次为例:if “4”(“4”==true)
继续: if “1”in L
pass
换句话说if对and的两个字符串进行了语义分割,and前面的字符串,if语句直接把它当成了true或flase识别
所以要想在python中实现且运算,还是得使用第四次输入