if / else-Anweisungen, die Zeichenfolgen in Groß- und Kleinbuchstaben in Python akzeptieren

7

Gibt es einen schnellen Weg für eine "if" -Anweisung, eine Zeichenkette zu akzeptieren, unabhängig davon, ob sie in Python in Kleinbuchstaben, Großbuchstaben oder beides steht?

Ich versuche, ein Stück Code zu schreiben, wo die Zahl "3" eingegeben werden kann, sowie das Wort "drei" oder "Drei" oder eine andere Mischung aus Groß- und Kleinbuchstaben und es wird trotzdem akzeptiert durch die "if" -Anweisung im Code. Ich weiß, dass ich "oder" verwenden kann, um "3" sowie jede andere Zeichenkette zu akzeptieren, aber ich weiß nicht, wie ich die Zeichenkette in mehr als einem Fall akzeptieren kann. Bisher habe ich:

%Vor%     
Sofia 16.05.2015, 15:16
quelle

6 Antworten

8

Konvertieren Sie einfach Class in Kleinbuchstaben mit str.lower() und testen Sie es.

%Vor%

Natürlich können Sie auch str.upper() verwenden.

%Vor%

Eine letzte Sache ist, dass Sie mit "3" gleichzeitig nach "three" und in suchen können.

%Vor%

Wenn Sie in für eine if -Anweisung verwenden, haben Sie mehrere Optionen. Sie können einen Satz, {"3", "three"} , den ich verwendet habe, eine Liste, ["3", "three"] , oder ein Tupel, ("3", "three") .

verwenden

Eine letzte Anmerkung ist, dass str.lower() oder str.upper() auf "3" wird "3" geben, aber auf der Ganzzahl% aufrufen co_de%, wird einen Fehler ausgeben, so dass Sie 3 nicht verwenden können, wenn in als Integer einen möglichen Wert für 3 .

    
michaelpri 16.05.2015, 15:19
quelle
11

Sie können in operator mit list verwenden.

%Vor%

Nur zur Referenz '3'.lower() gibt die Zeichenfolge 3 zurück.

%Vor%     
Tanveer Alam 16.05.2015 15:22
quelle
4

Sie können alle Zeichenfolgen nur in Kleinbuchstaben schreiben und nur den Kleinbuchstaben wie folgt überprüfen:

%Vor%     
Liam Marshall 16.05.2015 15:19
quelle
2

Wenn Sie string.lower() verwenden, können Sie die gesamte Zeichenfolge in Kleinbuchstaben umwandeln, so dass Sie sie in einer if-Anweisung überprüfen können. Ersetzen Sie einfach die Zeichenfolge durch Ihre tatsächliche Zeichenfolge. Also Class.lower()

    
NendoTaka 16.05.2015 15:19
quelle
2

Um einen insensitiven Vergleich zu machen, mache ich meine Variable in Kleinbuchstaben. Obwohl Class ein risikoreicher Name ist, den Sie verwenden können, weil class s Schlüsselwort ist, könnten Sie Folgendes tun:

%Vor%

Und so weiter

Ich würde es nur dann als niedriger speichern, wenn Sie den Fall für später nicht aufbewahren müssen, und besonders, wenn Sie andere Vergleiche wie gegen "vier" haben.

    
Eric Renouf 16.05.2015 15:22
quelle
1

Machen Sie die Zeichenfolge in Kleinbuchstaben.:

%Vor%     
Mike Müller 16.05.2015 15:19
quelle