「正しい(論理的に)」はどちらですか? 閏年特有のもので、一般的にはではありません。括弧付きうるう年の論理論理:かっこを含むか?
-
return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
なし
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
追加情報
ブール値が評価される順序が括弧で変更されます(and
はor
括弧の前になります)。
この問題では、すべての大きな数値が小さい数値で割り切れるとすれば、正しい結果が返されますが、私はまだ興味があります。括弧の
守っ効果:括弧なし
False and True or True #True False and (True or True) #False
False and False or True #True False and (False or True) #False
、たとえ年は、それはまだ4(最初のブール値)で割り切れないシナリオがありますTrueを返す(私はこの問題では不可能だと知っています)! 4桁で割り切れないので、かっこを入れる方が正しいですか?他に何か私はここに注意を払うべきですか?誰かが括弧を含まない/理論的論理を説明できますか?
かっこでは、デフォルトの左から右の代わりに評価の順序が変更されます。だから、あなたは実際にそれらを植え付ける前に注文を変える理由を持っていなければなりません。 –
コメントを残しても、私はdownvotedを意味しません。 –