2017-08-28 3 views
0

最近、特にif文でpythonに関する問題が発生しています。以下は、文字列 'それは動作しましたか?'を出力する簡単なif文です。可変挨拶がこんにちはと等しいとき。私のif文がPythonでテキストを印刷していません

greeting = raw_input('hi') 
if greeting == 'hello': 
    print 'did it work?' 

私は唯一の変数挨拶にハロー単語を入力すると、戻って何を取得するための端子で、このPythonのファイルを実行します。 if文がうまくいかない理由は分かりません。以下は私の端末出力がどのように見えるかへのリンクです。

Terminal Outout

これは、私の神経に乗ることは本当に持っている、それは私のプログラムに取り組んでから私を停止していますし、私が部屋を横切って私のラップトップを投げたい作られています。誰かがそれを助けることができればそれは非常に高く評価されるだろう

+0

Windows環境で実行していますか? – sancelot

+0

オペレーティングシステムを意味する場合は、いいえ、私はLinuxを実行します。 – subliminal

答えて

1

"hello"の前にスペースを入れていると思います。でテスト:何も異常

+0

そうだね。もちろん、もしOPが:raw_input( 'hi') 'に空白を入れたとしても、彼らは挨拶に入る前にスペースバーを打ちたいとは思わないでしょう... –

+0

ありがとうございました!あなたのコードはうまくいった!私は今私が取り組んでいる実際のプログラムを修正しようとしています。 – subliminal

+0

@nax 'if'文中の文字列を比較しています。したがって、両方の文字列は、 '=='オペランドの結果であるTrueと正確に等しくなければなりません。これは、ほとんどのプログラミング言語ではかなり標準的なことです。 'greeting'変数は、 'hello'というリテラル文字と同じ文字でなければなりません。つまり、スペースがないこと、文字ごとに大文字と小文字が異なることなどです。 –

0

あなたgreeting変数を確認"hello"
greetingprintを行い、それがlen()だと確認してください。チェックhttps://repl.it/K2ro/1

あなたはおそらく余分なスペースを与えている可能性があります。ストリングを操作する前にトリミングを試みてください。特別な場合は "strip()"を使用してください。

2

がある場合、それは私のために正常に動作して、あなたの入力した後

greeting = raw_input('hi') 
if greeting.strip() == 'hello': 
    print 'did it work?' 
関連する問題