回答

✨ ベストアンサー ✨

for i in range(0, 5): はiを0から4になるまで繰り返す構文なので、iが2と4のときにprintが実行されますが、

if i in range(0, 5): はiが0以上5未満かどうかで条件分岐する構文なので、iは初期値から変わらず0のままです。実行してもif (i == 2) or (i == 4): のところで条件を満たさないので何も出力されません。
if i in range(0, 5): という構文が無いわけではないのでエラーは出ません。

この回答にコメントする
疑問は解決しましたか?

この質問を見ている人は
こちらの質問も見ています😉