问答详情
源自:8-2 Python读取set元素

在if后可以加几个判断条件?

def panduan(x,y):
    if y in x:
        print('yes!')
    elif y.title() in x:
        print('yes!')
    elif y.lower() in x:
        print('yes!')
    elif y.upper() in x:
        print('yes!')
    else:
        print('no!')
names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena','Alice']
name_set=set(names)
name='bob'
panduan(name_set,name)

为什么上面这段程序ok,但下面这种就判断不了呢?只返回yes!,无论name在不在name_set中。

if y or y.title() or y.lower() or y.upper() in x:

谢谢!

提问者:鉴航 2021-06-15 07:55

个回答

  • 常思方安
    2021-10-08 19:34:33

    没用 if A or B 这种写法

    下载视频          

  • Nairuohe
    2021-06-17 19:29:45

    in的优先级较高,if后面先判断

    y.upper() in x

    然后再进行or,所以当y非空时,if后面的条件都是True,永远执行yes