В этом уроке мы узнаем, как поменять местами две переменные в программе Python. Предположим, у нас есть две переменные, P и Q, и нам нужно написать программу на Python для замены их значений. Обсудим различные методы Python для выполнения этой задачи.
Способ 1: с использованием наивного подхода
В этом методе наивный подход сохранит значение переменной P во временной переменной, а затем присвоит переменной P значение переменной Q. Затем он присвоит значение временной переменной переменной Q, что приведет к замене значений обеих переменных.
P = int( input(«Please enter value for P: «)) Q = int( input(«Please enter value for Q: «)) # To swap the value of two variables # we will user third variable which is a temporary variable temp_1 = P P = Q Q = temp_1 print(«The Value of P after swapping: «, P) print(«The Value of Q after swapping: «, Q)
Please enter value for P: 13 Please enter value for Q: 43 The Value of P after swapping: 43 The Value of Q after swapping: 13
Способ 2: с помощью оператора comma
Обмен значений переменных

Программирование на языке Python: Обмен переменных значениями #9
Если попытаться сделать такой обмен, сначала присвоив первой переменной значение второй, а второй — значение первой, ничего не получится. Допустим, есть две переменные a и b . При этом a = 5 и b = 6 . Если выполнить выражение a = b , то переменная a будет хранить число 6, также как и b . Число 5 будет утеряно. После этого выражение b = a теряет смысл, так как b будет присвоено его же текущее значение. В данном случае 6.
Поэтому в программировании при обмене значений переменных обычно вводят третью, играющую роль буфера (буферная переменная). В ней сохраняют значение первой переменной, потом первой присваивают значение второй, a новое значение для второй берут из буфера.
Таким образом классический алгоритм обмена значений двух переменных выглядит так:
a = 5 b = 6 buf = a a = b b = buf
Полная версия программы, которая запрашивает ввод двух значений с клавиатуры:
a = input(‘a: ‘) b = input(‘b: ‘) buf = a a = b b = buf print(‘a =’, a) print(‘b =’, b)
Пример выполнения программы:
a: 91 b: 162 a = 162 b = 91
Есть другой способ, позволяющий не использовать третью переменную, — арифметический. Он подходит только для чисел.
a = 5 b = 7 a = a + b # 12 b = a — b # 12-7=5 a = a — b # 12-5=7
a = int(input(‘a: ‘)) b = int(input(‘b: ‘)) a = a + b b = a — b a = a — b print(‘a =’, a) print(‘b =’, b)
Третий вариант — использовать имеющееся в Python множественное присваивание. При этом обмен значений переменных выполняется одной строкой кода:
>>> a = 10 >>> b = 20 >>> a, b = b, a >>> a 20 >>> b 10
Почему такое возможно? В Питоне есть такая структура данных как кортеж.
При выполнении a, b = b, a интерпретатор Python сначала получает значения связанные с переменными b и a (правая часть) и помещает их в кортеж, в данном случае получится (10, 20) . После этого он связывает каждый элемент кортежа в определенной позиции с переменными в той же позиции, но расположенными слева.
Python l Обмен значений двух переменных. Без третьей переменной
Таким образом можно поменять значения не только двух переменных, также трех и более. Кроме того в Python можно обменивать значения переменных разных типов. Это связано с тем, что тип данных в Питоне привязан не к переменной, а к значению:
>>> a = 14 >>> b = 18 >>> c = 16 >>> a,b,c = c,a,b >>> a,b,c (16, 14, 18) >>> d = 4.56 >>> e = «hi» >>> d,e = e,d >>> d ‘hi’ >>> e 4.56
X Скрыть Наверх
Решение задач на Python
Источник: younglinux.info
Python: поменяйте местами две переменные
Напишите программу на Python для замены двух переменных.
Python: обмен двух переменных
Обмен двух переменных относится к взаимному обмену значениями переменных. Как правило, это делается с данными в памяти.
Самый простой способ поменять местами две переменные — это использовать третью временную переменную:
определить своп (а, б) temp: = a a: = b б: = темп

Пример решения : —
Код Python:
a = 30 b = 20 print(«nBefore swap a = %d and b = %d» %(a, b)) a, b = b, a print(«nAfter swaping a = %d and b = %d» %(a, b)) print()
Перед свопом а = 30 и б = 20 После обмена а = 20 и б = 30
Блок — схема:

Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Каков уровень сложности этого упражнения?
Источник: www.kodesource.top