2016-05-12 6 views
0

Ich lerne gerade Python und ich habe eine Frage, die ich nicht finden kann die Antwort auch, derzeit versuche ich, eine String-Variable vom Benutzer gegeben und mit einem Teil einer anderen Zeichenfolge zu vergleichen. Ich möchte etwas wie folgt aus:Wie kann ich in Python 3.5 eine String-Variable mit einem Teil einer anderen Zeichenfolge vergleichen?

Programm: Der angegebene Satz ist: „Ich mag Chemie“, ein Wort im Satz gegeben eingeben.

Benutzer: wie

Programm: Ihr Wort im Satz ist.

Ich kann nur scheint ein Programm mit der if Funktion zu machen und == aber dies scheint nur zu erkennen, dass die beiden Strings ähnlich sind, wenn ich den vollen Satz durch das Programm gegeben eingeben.

Jede Hilfe wird

Von den einige der Antworten erkannt werden, habe ich mein Programm geändert, aber es scheint, dass ich nicht finden kann, ein Fehler zu sein.

sentence=("I like chemistry") print("The given sentence is: ",sentence) word=input("Give a word in the sentence: ").upper while word not in sentence: word=input("Give a valid word in the sentence: ") if word in sentence: print("valid")

+0

Muss es ein * Wort * sein, oder kann ein Teilstring übereinstimmen? –

+0

Sie möchten testen, ob das Wort ** in ** der Satz ist. Hast du versucht "wenn Wort in Satz"? –

+0

Jedes Wort, wie im Benutzer kann "wie" für den gegebenen Satz eingeben und das Programm würde Ihnen sagen, es ist eine Übereinstimmung. –

Antwort

0
if word in sentence: 

Willkommen in der wunderbaren Welt der Python.

0

In Python verwenden Sie if substring in string: ....

Beispiel:

mystring = "I like chemistry" 
if "like" in mystring: 
    print("Word is in sentence") 
else: 
    print("Word is not in sentence") 

hoffe, das hilft!

1

Sie könnten in verwenden zusammen mit split:

>>> s = "I like chemistry" 
>>> words = s.split() 
>>> "like" in words 
True 
>>> "hate" in words 
False 

Der Unterschied zwischen diesem Ansatz vs. in gegen den ungeteilten Zeichenfolge verwendet, ist wie folgt:

>>> "mist" in s 
True 
>>> "mist" in words 
False 

Wenn Sie beliebigen Teil wollen dann verwenden Sie einfach , aber Sie wollen Leerzeichen mit Leerzeichen getrennt dann verwenden Sie w in words.

0

Anstatt es so zu denken, als ob man einen Teilstring findet, denke es, als ob man die Mitgliedschaft überprüft. Und alle Sequenztypen in Python stellen zu diesem Zweck die gleiche Schnittstelle zur Verfügung. Sprich s ist eine Sequenz, das heißt str, list, tuple und zu sehen, ob m in s ist,

>>> m in s # => bool :: True | False 

Der gleiche in Operator für dict Schlüssel und set wie gut funktioniert, obwohl sie nicht Sequenzen sind.

Verwandte Themen