2012-10-29 19 views
2

我是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!') 

(我不確定的部分是具有多重如果行語句。)謝謝!

回答

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!') 

不會導致這種情況的問題,但是你應該避免使用可變的名字,同時也是built-in functionsstr是內建函數/類型)

如果你有更多的價值,你可以做同樣的事情,更整齊,像這樣:

values = ['t', 'br', 'ht'] 
if all(x in instr for x in values): 
    print("Ok!") 
6

你爲什麼不嘗試在Python REPL中輸入這個?你試圖做的是完全有效的Python,除了and關鍵字是小寫,而不是大寫。

+1

好極了!謝謝!我只是大寫,以確保你能理解那是我不確定的部分。我不熟悉REPL,那是什麼? – eatonphil

+3

REPL代表讀取eval打印循環。這是你在沒有參數的情況下調用'python'時得到的。 –

5
if all(s in text for s in (a, b, c)): 
    print("ok")