問題は2つのint、aおよびbが与えられた場合、それらが10の場合はTrue、またはその合計が10の場合、Trueを返します。整数を評価する際に "または"を使用する
なぜ、(9,9)と(8,3)を入力するとTrueを返すのですか?
私は以来、別の解決策(下記)を使用して問題を解決しましたが、第1の解決策が機能しない理由を理解するのに苦労しています。
ありがとうございました。
def makes10(a, b):
if a or b == 10:
return True
if a + b == 10:
return True
else:
return False
def makes10(a, b):
if a == 10:
return True
if b == 10:
return True
if a + b == 10:
return True
else:
return False
'aまたはb == 10 'は'(a!= 0)または(b == 10) 'を意味します。あなたが望む構成は 'a == 10 or b == 10'です。それはあなたの間違いを理解するのに十分ですか? – zwol
[this](http://stackoverflow.com/questions/15112125/how-do-i-test-one-variable-against-multiple-values)の重複 – timgeb
ああ、はい。 @ timgeb:それは私が選んだものよりはるかに優れた複製です。この質問のバリエーションは何度も尋ねられています。ありがとう! –