資格スワイプ
制御構造ツール(4章)

次のコードを実行したとき、出力される内容として正しいものはどれか。 numbers = [1, 2, 3] for n in numbers: if n == 2: numbers.append(4) print(n)

  • A1 2 3 のみ出力される
  • ✓1 2 3 4 が出力される
  • C無限ループになり終了しない
  • DRuntimeErrorが発生する

解説

for文はリストの要素をインデックスで順に取り出すため、ループ中にリストへ要素を追加すると、追加された要素もその後の反復対象に含まれてしまう。n=2のときappend(4)されるため、最終的に1,2,3,4の順で出力される。

根拠Pythonチュートリアル4章 for文(コレクションをイテレート中に変更することに関する注意)

← 前の問題次の問題 →
スワイプでまとめて流す