چالش روزانه · ۲۲ مهر ۱۴۰۵

چالش پایتون ۳: جابه‌جایی دو متغیر؛ به همین سادگی؟

قبل از اجرای کد، خروجی آن را پیش‌بینی کن. حدس نزن؛ خط به خط فکر کن پایتون چه می‌کند.

x = 1
y = 2
y = x
x = y
print(x, y)
خروجی کدام است؟

نمایش پاسخ و توضیح

پاسخ درست: گزینهٔ ب — 1 1

خط به خط

  1. x = 1 و y = 2.
  2. y = x ← حالا y هم 1 است. مقدار قبلی y (یعنی 2) برای همیشه گم شد.
  3. x = y ← x مقدار فعلی y را می‌گیرد، که 1 است.

پس هر دو 1 هستند: 1 1.

راه درست

یا با یک متغیر موقت:

x = 1
y = 2
temp = y
y = x
x = temp
print(x, y)

یا با روش پایتونی که اول کل طرف راست را حساب می‌کند و بعد انتساب می‌دهد:

x, y = 1, 2
x, y = y, x
print(x, y)

حالا خودت اجرا کن و تغییرش بده

x = 1
y = 2
y = x
x = y
print(x, y)