2016-12-08 3 views
0

trueをisCorrectメソッドからcorrectMessageメソッドに戻そうとしています。しかしcorrectMessageが、これは正しく評価されるために、私は何ができるメソッドがTrueとして返されない

def correctMessage(isCorrect, tryAnswer, questionAnswer): 
    if isCorrect is True: 
     return print("Yes! You answered \"", 
        str(tryAnswer), "\" and the answer was " + questionAnswer) 

def isCorrect(tryAnswer, questionAnswer): 
    if str(tryAnswer).lower() == questionAnswer: 
     return True 
    return False 

「0x000000から機能isCorrect」 を出力によるisCorrectに右に実行されませんか?

+2

実際に関数を呼び出すには、isCorrect()(括弧付き)を使用する必要があります。 – Selcuk

+0

私たちがあなたを助けてくれたら、以下の答えの1つを記入してください。 – Shadow

答えて

1

isCorrectを呼び出していない場合、その機能自体がTrueであるかどうかをテストしました。括弧を追加し、2つの引数isCorrectが必要です。

サイドノート:isCorrectに2つの返品を含むifは必要ありませんでした。 return str(tryAnswer).lower() == questionAnswerは全く同じことをより速く行います。同様に

、それは高速ですので、値Trueは(この場合には、それは、唯一のtruthy可能性他のすべてのtruthy値から本当に重要と違うのされていない限り、if x is True:をテストすることは単なるテストif x:、ほとんど常に間違って醜いです、ととより多くのPythonicを行うだけでif isCorrect(...):)。

1

渡すパラメータでisCorrectを呼び出す必要があります。 現在、物理関数isCorrectがTrueであるかどうかを確認しています。

-1
def correctMessage(isCorrect, tryAnswer, questionAnswer): 
    if isCorrect(tryAnswer, quenstionAnswer): 
     print("Yes! You answered \"", str(tryAnswer), "\" and the answer was " + questionAnswer) 

def isCorrect(tryAnswer, questionAnswer): 
    return str(tryAnswer).lower() == questionAnswer: 
関連する問題