← クエスト一覧

クエスト24:アンパック(値の交換)

スライド 1 / 5
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 24 / 85

クエスト24:アンパック(値の交換)

応用 +10 XP
🏠
今回の課題
a = 10, b = 20 を1行で入れ替えて、「20」「10」の順に表示しよう。
📖 解説を見る
🔄 アンパック(複数代入)って何?

Python では、複数の値をまとめて代入したり、一度に入れ替えたりできます。

✏️ 書き方:
x, y = 3, 5 ← まとめて代入(x に 3、y に 5)
first, second = [10, 20] ← リストを分けて受け取る

右側にカンマで並べた値が、左側の変数へ順番に入ります。ここで大事なのは、右側が先に全部読まれてから左側に入るということ。だから右側に「いまの値」を入れ替えた順で並べれば、一時変数なしで交換ができます。

📋 作るもの:
ab の中身を入れ替える(a が 20、b が 10 になる)
・一時変数は使わず、1行で書く
print は書いてあるので、20 → 10 の順に出ればOK

💡 どこで使う?

関数が2つ以上の値を返すとき(x, y = get_position())や、for の i, v(Q30 の enumerate)で毎回使います。値の入れ替えも、他の言語だと一時変数が必要ですが、Python なら1行で済みます。

⚠️ ポイント:
・右側が先に評価されてから、左側にまとめて入る
・左右の個数はそろえる
ヒントを見る
右側にカンマで2つ並べると、左側の2つの変数へ順番に入るよ。右側が先に評価されるので、入れ替えたい順に並べれば一時変数はいらない。
期待する出力
20
10
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: x, y, z = 1, 2, 3 をアンパックして1行ずつ表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
1 2 3
未挑戦

問題 2: first, *rest = [10, 20, 30, 40] として first と rest を表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
10 [20, 30, 40]
未挑戦

問題 3: a=3, b=7 を交換して「小: 3 大: 7」と表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
小: 3 大: 7
コピーしました!