Ich bin neu in Python. Ich schreibe eine Zeichenfolgenfunktion, um zu überprüfen, ob eine bestimmte Zeichenfolge bestimmte Mehrfachwerte enthält. Gibt es eine Syntax in Python, mit der ich so etwas tun kann:

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

(Der Teil, bei dem ich mir nicht sicher bin, besteht darin, mehrere if-Anweisungen online zu haben.) Danke!

2
eatonphil 29 Okt. 2012 im 08:53

3 Antworten

Beste Antwort

Fast richtig, machen Sie einfach den and Kleinbuchstaben:

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

Verursacht in diesem Fall keine Probleme, aber Sie sollten die Verwendung von Variablennamen vermeiden, die ebenfalls erstellt wurden -in Funktionen (str ist eine eingebaute Funktion / ein eingebauter Typ)

Wenn Sie mehr Werte haben, können Sie dasselbe ordentlicher machen:

values = ['t', 'br', 'ht']
if all(x in instr for x in values):
    print("Ok!")
6
dbr 29 Okt. 2012 im 04:59
if all(s in text for s in (a, b, c)):
   print("ok")
5
jfs 29 Okt. 2012 im 04:58

Warum versuchen Sie nicht, dies in die Python-REPL einzugeben? Was Sie versuchen, ist in Python vollkommen gültig, außer dass das Schlüsselwort and in Kleinbuchstaben und nicht in Großbuchstaben geschrieben ist.

6
Hans Then 29 Okt. 2012 im 07:26