以下リンクにあるように、if文判定でorを使うと(以下の事例1)意図しない動きになることはコードの動きとしても理解きるのですが(if 'fuga':の判定でTrueが返ってくる)、括弧でくくれば大丈夫だろうと思っても、やはり意図した動きになりません。
事例2において、どういうロジックでif文内がFalseになるのか教えていただけないでしょうか?
######事例1######## a = 'fugafuga' if a == 'hoge' or 'fuga': print('coffee') else: print('tea') # coffeeと出力される ######事例2######## a = 'fuga' if a == ('hoge' or 'fuga'): print('coffee') else: print('tea') # teaと出力される
x or y において、x が偽なら y, そうでなければ x と書かれております
https://docs.python.org/ja/3/library/stdtypes.html#boolean-operations-and-or-not
回答4件
あなたの回答
tips
プレビュー