piscesng 发表于 2020-11-22 16:32:09

== 'a' or 'b'

python 是不是没有这种用法呀   比如
if a == 'N' or 'n':
        执行语句
或者
if a in list1 or list2:
        执行语句
我做python p26那个登录程序时这么写,判断就有问题

昨非 发表于 2020-11-22 16:35:45

不能这么写的,但可以写成if a == 'N' or a== 'n':

if a in list1 or a in list2:

Twilight6 发表于 2020-11-22 16:38:14


不是没有这种用法,如果没有就已经报错了

是因为 Python 的 非空字符串布尔型值为 True

所以 ifa =='N' or 'n' 意思是 ifa == 'N' or True

又因为这里逻辑运算符为 or ,所以 不管 a 的值是多少 ,if 的条件始终成立

所以这里你应该分开写:

ifa == 'N' or a == 'n'

西瓜味的苹果 发表于 2020-11-22 16:58:57

楼上正确,if a==N or n会产生误解,电脑不像人那么智能

冬雪雪冬 发表于 2020-11-22 17:12:55

可以简化成 if a in 'Nn':

Mike_python小 发表于 2020-11-22 19:29:50

Twilight6 发表于 2020-11-22 16:38
不是没有这种用法,如果没有就已经报错了

是因为 Python 的 非空字符串布尔型值为 True


好家伙 又换头像了    Ps(你咋还没当上正式版主呀)

piscesng 发表于 2020-11-23 15:15:51

悟了悟了,谢谢各位哈
页: [1]
查看完整版本: == 'a' or 'b'