メモ17【for】

コードと選択肢は以下になります。

実行結果は何が出力されるでしょうか。

1 [(0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)]
2 [(0, 1), (2, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)]
3 [(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 1), (2, 3)]
4 [(0, 1), (1, 1), (2, 1), (0, 2), (1, 2), (2, 2), (0, 3), (1, 3), (2, 3)]

回答

3 [(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 1), (2, 3)]

メモ

一見複雑そうに見えますが、凄く簡単に出力結果が分かります。
「if x != y」では「x」と「y」が同じ値だった場合はループしない。
という意味になりますので、
xが0のとき、yが1,2,3でループされ
xが1のとき、yが2,3でループされ
xが2のとき、yが1,2でループされ
xが3のとき、ループから抜けるので、
[(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 1), (2, 3)]が出力されるのですね!