🔖

tmpにお弁当箱ごと入れてある。温め直すかは未定。

に公開

概要

自分用にtmpの使い方を記録します。

問題

変数の基本的な値交換の問題を解いていました。
2つの変数a = 10とb = 20の値を入れ替えて、以下のように出力してください:

期待する出力:

交換前: a = 10, b = 20
交換後: a = 20, b = 10

私は、a,bの中身を普通に以下のように解いていました。

a=10
b=20
print(a,b)
b=a
a=b
print(a,b)

出力結果は、b=10,a=10となり、私が望む結果になりませんでした。当たり前です。b=aの時点で、元のbの値(20)が失われてしまい、中身が10の値が入ったものが、またaに入れられています。

それを阻止するために、tmpの登場です。

正しい値交換の方法

a = 10
b = 20
print(f"交換前: a = {a}, b = {b}")

# 正しい値交換の手順
tmp = a    # 1. aの値を一時保存
a = b      # 2. bの値をaに代入
b = tmp    # 3. 一時保存したaの値をbに代入

print(f"交換後: a = {a}, b = {b}")

Discussion