2016-10-02 34 views
0

私が抱えている問題は、プログラミングに関するチャットボットの簡単なスクリプトのこの部分にあります。しかし、スクリプトのこの部分をテストし、入力として「B」と入力すると、「パンダ:私はあなたが私の熱意を分かち合ってうれしいです」と言います。これはAを入力すれば起こることはありません!誰かが私が間違っていることを指摘してくれますか?Python 3.4 Ifとelif文が動作しない

invalidAnswer2 = true 
while invalidAnswer2 == true : 
    answer2 = input (user) 
    if answer2 == ('a') or ('A') : 
     print ('Panda: I'm glad you share my enthusiasm.') 
     invalidAnswer2 = false 
    elif answer1 == ('b') or ('B') : 
     print ('Panda: I wish. I am actually British, but I dream of going to America!')   
     print ('Panda: *Cough* Um anyway that was rather unproffesional of me.') 
     invalidAnswer2 = false 
    else : 
     invalidAnswer() 
     invalidAnswer2 = true 

ありがとうございました。 ANSWER1 ==が「」または「」 は常に真生む場合、それが本当に求めているため、 :文が常にTrueの場合、それはすべてのことXD後の単純なタイプミスだった

+1

はあなたのインデントが正しいですか?また、Pythonには 'true'と' false'はありません。 'True'と' False'があります。 –

+0

@BhargavRaoこれは私が投稿を複製していないサイトの最初の投稿です。 –

+0

@vishes_shellちょっとチェックしただけで、すべてが良いと確信しています。 –

答えて

0

問題はあなたのもの、あなたの最初のものである

if (answer1 == "a") or ("A") 

"A"は常にTrueを返します。あなたは何を意味するのか はおそらくです:

if answer1 == "a" or answer1 == "A" 

またはより良いオプション:

if answer1.lower() == "a" 
+0

補完のためだけに、['a'、 'A'] 'のanswer1ならもう一つ悪い(!)でしょう:D –

+0

ありがとう!あなたはそうだった –