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

来源:8-2 Python读取set元素

鉴航

2021-06-15 07:55

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:

谢谢!

写回答 关注

2回答

  • 常思方安
    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

Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154164 学习 · 1075 问题

查看课程

相似问题