koreabao 发表于 2022-4-19 10:23:03

关于or和and的问题

大神们好

我想判断两个字符串是否在一个表格里,
然后加上and 或者or的条件,

friends = ['sam','tom']

if 'dwight' or 'nurse' in friends:
print(True)
else:
print(False)
预想为False
然后输出为True

friends = []

if 'dwight' or 'nurse' in friends:
print(True)
else:
print(False)

预想为False
输出也是 True

请问为什么呢? 谢谢

python爱好者. 发表于 2022-4-19 10:32:57

计算机理解的是:
if ('dwight') or ('nurse' in friends):

python爱好者. 发表于 2022-4-19 10:33:36

python爱好者. 发表于 2022-4-19 10:32
计算机理解的是:

改成:
if ('dwight' in friends) or ('nurse' in friends):

isdkz 发表于 2022-4-19 10:34:09

本帖最后由 isdkz 于 2022-4-19 10:39 编辑

if 'dwight' or 'nurse' in friends 相当于 if 'dwight' or ('nurse' in friends)

字符串只要不为空就是 True,'dwight' 不是空字符串所以就是 True,

你可以改成
if any(x in friends for x in ['nurse', 'dwight']):

页: [1]
查看完整版本: 关于or和and的问题