python の if 文には in演算子 というものがあります。
前回の例では、プログラムは正しく実行されているが、表示結果がおかしかったですね。
そこで 以下のように修正してみます。
=====================
moji = “私は餃子は好きですが、カレーが好きではないです”
if “カレーが好きではない” in moji :
print(“カレーが好きではないんですね”)
elif “カレーが好き” in moji :
print(“カレーが好きなんですね”)
else:
print(“カレーが嫌いなんですね”)
=====================
このプログラムを実行したら
カレーが好きではないんですね
と無事表示されましたか?
in 演算子は in の左辺が in の右辺に含まれるか
を上の行から実行していきます。
ですので、今回の例では
moji の中に カレーが好きではない が含まれているかを最初にチェックし、
その条件が最初に満たされたから
カレーが好きではないんですね
が表示された次第です。
if文は 上から実行されていき、条件が満たされれば
そのif文の塊は まるごと無視されて 先に進みます。
逆に言えば、if 文は何か1つ成立ってしまえば、他のものは考慮されないのです。