Обмен значениями двух переменных
В этом примере посмотрим, как поменять местами значения двух переменных. Покажем классический способ с временной переменной и несколько питоновских и арифметических трюков без неё.
Что нужно знать
Перед изучением примера полезно понимать:
Типы данных Python — типы данных
Базовый ввод и вывод в Python — ввод и вывод
Операторы в Python — операторы
Пример 1. С временной переменной
# Python program to swap two variables
x = 5
y = 10
# To take inputs from the user
#x = input('Enter value of x: ')
#y = input('Enter value of y: ')
# create a temporary variable and swap the values
temp = x
x = y
y = temp
print('The value of x after swapping: {}'.format(x))
print('The value of y after swapping: {}'.format(y))
Вывод
The value of x after swapping: 10
The value of y after swapping: 5
В этой программе временная переменная temp нужна, чтобы не потерять значение x. Сначала сохраняем x в temp, затем кладём в x значение y, а в y — то, что лежало в temp. В результате значения переменных меняются местами.
Пример 2. Без временной переменной
В Python есть короткая запись для обмена значениями — та же задача решается одной строкой.
x = 5
y = 10
x, y = y, x
print("x =", x)
print("y =", y)
Если переменные содержат числа, обмен можно сделать ещё и через арифметику. На первый взгляд кажется странным, но если разобрать по шагам — становится понятно. Несколько вариантов:
Сложение и вычитание
x = x + y
y = x - y
x = x - y
Умножение и деление
x = x * y
y = x / y
x = x / y
XOR-обмен
Этот способ работает только с целыми числами.
x = x ^ y
y = x ^ y
x = x ^ y