我目前正在学习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")
答案 0 :(得分:1)
您可以将in
与split
一起使用:
>>> 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
是一个序列,即str
,list
,tuple
,并查看m
是否在s
,
>>> m in s # => bool :: True | False
同一in
运算符适用于dict
键和set
,但它们不是序列。