解答例_2_9

解答例:練習問題_2_8(if~else文で and と or を作る)

下図の様な解釈により if 文を作成しています。

and の作成

a, b = 'abc', 'xyz'

if a:
    and_ab = b
else:
    and_ab = a

and_ab

‘xyz’

or の作成

a, b = 'abc', 'xyz'

if a:
    or_ab = a
else:
    or_ab = b

or_ab

‘abc’

上記は一つの解答例に過ぎません。if 文の a と b を入れ替えると別の解答例となるかと思います。 a と b の値を変えて確認してください。
実際の and と or も上記と同じ方法で作られている様です。

a, b = 'abc', 'xyz'
a and b, b and a, (a and b) == (b and a)

(‘xyz’, ‘abc’, False)

a and b は b (‘xyz’) となり、b and a は a (‘abc’) となるので、(a and b) == (b and a) は False(偽)となります。数学的な交換法則は成り立ちませんので注意が必要です。
or も同様に a or b と b or a は等しくありませんので是非確認してください。
ここで注意する点は、演算の優先度は高い順に ==, not, and, or です。(a and b) == (b and a)の括弧をつけないと and よりも == を先に処理するので、目的とは違った答えとなります。

タイトルとURLをコピーしました