在Python3.5中,如何比较字符串变量与另一个字符串的一部分?

In python 3.5, how do I compare a string variable with part of another string?

本问题已经有最佳答案,请猛点这里访问。

我目前正在学习python,我有一个问题也找不到答案,目前我正在尝试从用户那里获取一个字符串变量,并将它与另一个字符串的一部分进行比较。我想要这样的东西:

Program: The given sentence is"I like chemistry", enter a word in the
sentence given.

User: like

Program: Your word is in the sentence.

我似乎只能用if函数和==来编写程序,但这似乎只是认识到,如果我键入程序给出的完整句子,这两个字符串是相似的。

任何帮助都将不胜感激

从一些答案中,我将程序改为,但似乎有一个错误我找不到。

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")


您可以将insplit一起使用:

1
2
3
4
5
6
>>> s ="I like chemistry"
>>> words = s.split()
>>>"like" in words
True
>>>"hate" in words
False

这种方法与使用in对非拆分字符串的区别如下:

1
2
3
4
>>>"mist" in s
True
>>>"mist" in words
False

如果您想要任意的子字符串,那么只需使用w in s,但是您想要用空格分隔的单词,那么使用w in words


与其认为它是在查找子字符串,不如认为它是在检查成员资格。而python中的所有序列类型都为此公开了相同的接口。假设s是一个序列,即strlisttuple,看m是否在s中,

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

同一个in操作符也适用于dict键和set键,尽管它们不是序列。


在python中,使用if substring in string: ...

例子:

1
2
3
4
5
mystring ="I like chemistry"
if"like" in mystring:
    print("Word is in sentence")
else:
    print("Word is not in sentence")

希望这有帮助!


1
if word in sentence:

欢迎来到Python的奇妙世界。