在python 3.5中,如何将字符串变量与另一个字符串的一部分进行比较?

时间:2016-05-12 16:09:23

标签: python python-3.5

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

  

节目:给定的句子是"我喜欢化学",输入一个单词   给出的判决。

     

用户:喜欢

     

节目:你的话在句子里。

我似乎只能使用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")

4 个答案:

答案 0 :(得分:1)

您可以将insplit一起使用:

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

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

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

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

答案 1 :(得分:0)

if word in sentence:

欢迎来到精彩的蟒蛇世界。

答案 2 :(得分:0)

在Python中,您使用if substring in string: ...

示例:

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

希望这有帮助!

答案 3 :(得分:0)

不要将其视为查找子字符串,而是将其视为检查成员资格。并且Python中的所有序列类型都为此目的公开了相同的接口。说s是一个序列,即strlisttuple,并查看m是否在s

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

同一in运算符适用于dict键和set,但它们不是序列。