如果有这样的字母/单词,我试图打印出来,如果没有,我打算打印出来,如果没有,我会打印出来,但无论我输入什么内容,都是真的。
phr1= raw_input("Enter a phrase or paragraph, and this will check if you have those letters/word in ur paragraph: ")
print "You entered: "+phr1
phr2= raw_input("Check if a word/letter exists in the paragraph: ")
phr2 in phr1
if True:
print "true"
elif False:
print "false"
input("Press enter")
当我运行代码时:
Enter a phrase or paragraph, and this will check if you have those letters/word in ur paragraph:
hello world
You entered: hello world
Check if a word/letter exists in the paragraph: g
true
Press enter
这怎么可能,不存在,为什么会这样呢?
答案 0 :(得分:6)
检查if True
将始终通过,因为正在评估的布尔表达式只是True
。将整个if / else更改为print (phr2 in phr1)
如果第二个短语位于第一个短语,则会打印“True”,否则为“False”。要使其为小写(无论出于何种原因),您可以使用.lower()
,详见下面的评论。
如果您想使用原始的if / else检查(优点是您的输出消息可能比“True”/“False”更有创意),您必须修改代码,例如这样:
if phr2 in phr1:
print "true"
else:
print "false"
input("Press enter")
答案 1 :(得分:1)
if <something>
表示它所说的内容:如果<something>
为真,它会执行代码。前一行代码完全不相关。
phr2 in phr1
这意味着“检查phr2
是否在phr1
中,然后完全忽略该结果”(因为您对此无效)。
if True:
这意味着“如果True
为真:”,它就是。
如果您想测试phr2
是否在phr1
中,那么您需要让Python做以下事情:if phr2 in phr1:
。
答案 2 :(得分:0)
试试这个:
phr1= raw_input("Enter a phrase or paragraph, and this will check if you have those letters/word in ur paragraph: ")
print "You entered: "+phr1
phr2= raw_input("Check if a word/letter exists in the paragraph: ")
if phr2 in phr1:
print "true"
else:
print "false"
input("Press enter")
答案 3 :(得分:0)
phr1 = raw_input("Enter a phrase or paragraph, and this will check if you have those letters/word in ur paragraph: ")
print "You entered: "+phr1
phr2 = raw_input("Check if a word/letter exists in the paragraph: ")
if phr2 in phr1:
print "true"
else:
print "false"
raw_input("Press enter")