タプルを使った値の入れ替え
次のコードを実行したときの出力として、正しいものを1つ選べ。
x, y = 1, 2
x, y = y, x
print(x, y)
- A
1 2 - B
2 2 - C
1 1 - D
2 1
正解と解説を見る
正解:D
x, y = y, x は、右辺をタプルとして先に評価してから代入するので、入れ替えができる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `x, y = 1, 2` | x = 1, y = 2 |
| 2 | `x, y = y, x` | x = 2, y = 1 |
| 3 | `print(x, y)` | x = 2, y = 1 |
| 結果 | 実際の出力 | 2 1 |
- A
誤り。入れ替えが行われる。
- B
誤り。一時変数なしでも、右辺が先に評価される。
- C
誤り。そのようにはならない。
- D
正しい。右辺のタプルを先に作ってから代入するので、値を入れ替えられる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。