0

そのような文字/単語がある場合はtrue、ない場合はfalseを出力しようとしていますが、何を入力しても常にtrueです。

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

これはどのように可能ですか? g は存在しません。

4

4 に答える 4

6

if True評価されるブール式は単純であるため、チェックは常に合格しTrueます。if/else全体を次のように変更しますprint (phr2 in phr1)

これにより、2番目のフレーズが最初のフレーズにある場合は「True」が出力され、それ以外の場合は「False」が出力されます。(何らかの理由で)小文字にするため.lower()に、以下のコメントで詳しく説明されているように使用できます。

元のif/elseチェックを使用したい場合(「True」/「False」だけでなく、出力メッセージをよりクリエイティブにできるという利点)、次のようにコードを変更する必要があります。

if phr2 in phr1:
    print "true"
else:
    print "false"
input("Press enter")
于 2012-06-17T06:31:57.137 に答える
1
if <something>

正確に言うことを意味し<something>ます。trueの場合、コードを実行します。前のコード行は完全に無関係です。

phr2 in phr1

これは、「phr2がにあるかどうかを確認してphr1から、結果を完全に無視する」ことを意味します(何もしないため)。

if True:

これは「Trueiftrue:」を意味します。

にあるかどうかをテストする場合phr2は、phr1Pythonに次のように依頼する必要がありますif phr2 in phr1:

于 2012-06-17T07:42:42.147 に答える
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")
于 2012-06-17T06:29:05.537 に答える
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")
于 2012-06-17T06:29:20.163 に答える