Python如果这和这个和这个

eat*_*hil 2 python if-statement

我是Python的新手.我正在编写一个字符串函数来检查某个字符串是否包含某些多个值.python中有一个语法允许我这样做:

def strParse(str):
    a = 't'
    b = 'br'
    c = 'ht'
    if a in str AND b in str AND c in str:
        print('Ok!')
Run Code Online (Sandbox Code Playgroud)

(我不确定的部分是在线上有多个if语句.)谢谢!

Jor*_*wis 6

你为什么不尝试在Python REPL中输入这个?你想要做的是在python中完全有效,除了and关键字是小写,而不是大写.

  • REPL代表读取eval打印循环.这是你在没有参数的情况下调用`python`时得到的. (3认同)

dbr*_*dbr 6

几乎正确,只需制作and小写:

def strParse(str):
    a = 't'
    b = 'br'
    c = 'ht'
    if a in str and b in str and c in str:
        print('Ok!')
Run Code Online (Sandbox Code Playgroud)

在这种情况下不会导致问题,但您应该避免使用也是内置函数的变量名(str是内置函数/类型)

如果你有更多的价值观,你可以更加整洁地做同样的事情:

values = ['t', 'br', 'ht']
if all(x in instr for x in values):
    print("Ok!")
Run Code Online (Sandbox Code Playgroud)


jfs*_*jfs 5

if all(s in text for s in (a, b, c)):
   print("ok")
Run Code Online (Sandbox Code Playgroud)