Программа которая меняет местами значения двух переменных в памяти питон

В этом уроке мы узнаем, как поменять местами две переменные в программе 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:

Пример решения : —

Код 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

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru