2016-05-14 2 views
-1

Ich habe zwei Zeichenfolgen, Zeichenfolge0 und Zeichenfolge1. Ich möchte überprüfen, ob eine Eingabe diese Zeichenfolgen in Kleinbuchstaben enthält. Es wird jedoch nur nach einem von ihnen gesucht.Überprüfung für zwei Zeichenfolgen konvertiert in low() funktioniert nicht wie vorgesehen

import sys 

string0 = "Weather" 
string1 = "Like" 
userInput = input("say whatever") 

if string0.lower() and string1.lower() in userInput: 
    print("it is quite nice") 

Hier wird nur nach String1 überprüft. Ich verstehe nicht warum, irgendwelche Ideen? Ich verwende Python 3

+0

Weil Sie den 'und' Operator hier missbrauchen. Die linke Seite wird immer "wahr" sein. – usr2564301

Antwort

0

Sie haben jede Saite einzeln zu überprüfen, versuchen Sie dies:

if string0.lower() in userInput and string1.lower() in userInput: 
0

Sie haben individuell die Bedingungen zu überprüfen. Der erste Teil wird nur auf True ausgewertet. Jeder String mit Ausnahme der leeren String '' ausgewertet True

if string0.lower() in userInput and string1.lower() in userInput: 
+0

Oh richtig. Ich weiß nicht, was ich dachte, danke! –

0

Sie wahrscheinlich or wollen entweder Zeichenfolge überprüfen, plus, Ihr Zustand ist nicht ganz richtig.

if string0.lower() in userInput or string1.lower() in userInput: 

Sie könnten auch versuchen, dieses

if userInput in {string0.lower(), string1.lower()}: 
-1

in prüft, ob ein Wert in einer Liste von Werten ist. So Ihre Logik rückwärts ist, wollen Sie, um zu sehen, ob die userInputin die erlaubten Werte sind:

if userInput in [string0.lower(), string1.lower()]: 
    print("it is quite nice"); 
+0

Nicht in meinem Fall, wenn ich es so mache, wie du vorgeschlagen hast, kann ich nicht eingeben "Wie ist das Wetter?" Oder ähnliches, was ich will. –

+0

@UlrikKarlsson Das sind Informationen, die dann in die Frage hätten aufgenommen werden sollen. Basierend auf dem, was Sie gerade gesagt haben, wäre ein regulärer Ausdruck besser geeignet als der "in" -Operator. –

0

Sie verwenden ein und in diesem Fall. Du wirst wahrscheinlich ein oder brauchen.

+0

Nein, ich möchte, dass der Benutzer "Wetter" und "Gefällt mir" eingeben muss. –

Verwandte Themen