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

Как поменять местами две переменные в Python

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

Мы можем использовать оператор запятой. Нам не нужно использовать третью переменную для замены значений двух переменных для этого метода.

P = int( input("Please enter value for P: ")) Q = int( input("Please enter value for Q: ")) # To Swap the values of two variables P, Q = Q, P print("The Value of P after swapping: ", P) print("The Value of Q after swapping: ", Q)
Please enter value for P: 12 Please enter value for Q: 43 The Value of P after swapping: 43 The Value of Q after swapping: 12

Способ 3: с помощью метода XOR

Мы также можем использовать метод побитового XOR для замены двух переменных. XOR двух переменных, P и Q, вернет число, у которого все биты равны 1, всякий раз, когда биты переменных P и Q различаются.

Например, XOR 4 (в двоичном формате 0100) и 6 (в двоичном формате 0110) равно 1010.

XOR 2 (в двоичном формате 0010) и 8 (в двоичном формате 1000) равно 1010.

P = int( input("Please enter value for P: ")) Q = int( input("Please enter value for Q: ")) # To Swap the values of two variables using XOR P = P ^ Q Q = P ^ Q P = P ^ Q print("The Value of P after swapping: ", P) print("The Value of Q after swapping: ", Q)
Please enter value for P: 12 Please enter value for Q: 10 The Value of P after swapping: 10 The Value of Q after swapping: 12

Способ 4: с использованием арифметических операторов

В этом методе мы можем поменять местами значения обеих переменных двумя методами:

P = int( input("Please enter value for P: ")) Q = int( input("Please enter value for Q: ")) # To Swap the values of two variables using Addition and subtraction operator P = P + Q Q = P - Q P = P - Q print("The Value of P after swapping: ", P) print("The Value of Q after swapping: ", Q)
Please enter value for P: 15 Please enter value for Q: 43 The Value of P after swapping: 43 The Value of Q after swapping: 15
P = int( input("Please enter value for P: ")) Q = int( input("Please enter value for Q: ")) # To Swap the values of two variables using Addition and subtraction operator P = P * Q Q = P / Q P = P / Q print("The Value of P after swapping: ", P) print("The Value of Q after swapping: ", Q)
Please enter value for P: 23 Please enter value for Q: 14 The Value of P after swapping: 14.0 The Value of Q after swapping: 23.0

Заключение

В этом руководстве мы обсудили различные методы замены значения двух переменных в программе Python.

Читайте также:  Html div font name

Источник

Обмен значений переменных

Обмен значений переменных

Если попытаться сделать такой обмен, сначала присвоив первой переменной значение второй, а второй — значение первой, ничего не получится. Допустим, есть две переменные 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 = 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 можно обменивать значения переменных разных типов. Это связано с тем, что тип данных в Питоне привязан не к переменной, а к значению:

>>> 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

Источник

Читайте также:  Bootstrap login page html

Обмен значений двух переменных без использования третьей в Python

В этом руководстве мы обсудим различные методы, используемые для обмена значений двух переменных (n1 и n2) без использования третьей переменной в программах Python.

P: 112 Q: 211 After swapping P and Q: P: 211 Q: 112

Метод 1: с помощью встроенного метода

Встроенный метод может работать со значениями любого типа данных, такими как string, float, it. Этот метод очень прост в использовании.

P = JavaTpoint Q = Tutorial print("Variables Value Before Swapping: ") print("Value of P: ", P) print("Value of Q: ", Q) # Method to swap 'P' and 'Q' P, Q = Q, P print("Variables Value After Swapping: ") print("Value of P: ", P) print("Value of Q: ", Q)
Variables Value Before Swapping: Value of P: JavaTpoint Value of Q: Tutorial Variables Value After Swapping: Value of P: Tutorial Value of Q: JavaTpoint

Метод 2: с помощью побитового оператора XOR

Метод побитового оператора XOR применяется только для целых чисел, и он работает быстрее, поскольку он использует битовую операцию, которая предназначена для того же значения result = 0 и для другого значения result = 1.

P = 5 # P = 0101 Q = 10 # Q = 1010 print("Variables Value Before Swapping: ") print("Value of P: ", P) print("Value of Q: ", Q) # Method to swap 'P' and 'Q' P ^= Q # P = 1111, Q = 1010 Q ^= P # Q = 0101, P = 1111 P ^= Q # P = 1010, Q = 0101 print("Variables Value After Swapping: ") print("Value of P: ", P) print("Value of Q: ", Q)
Variables Value Before Swapping: Value of P: 5 Value of Q: 10 Variables Value After Swapping: Value of P: 10 Value of Q: 5

Метод 3: с помощью операторов сложения и вычитания

Этот метод можно использовать только для числовых значений.

P = 112 Q = 211 print("Variables Value Before Swapping: ") print("Value of P: ", P) print("Value of Q: ", Q) # Method to swap 'P' and 'Q' P = P + Q # P = 323, Q = 211 Q = P - Q # P = 323, Q = 112 P = P - Q # P = 211, Q = 112 print("Variables Value After Swapping: ") print("Value of P: ", P) print("Value of Q: ", Q)
Variables Value Before Swapping: Value of P: 112 Value of Q: 211 Variables Value After Swapping: Value of P: 112 Value of Q: 211

Метод 4: с помощью операторов умножения и деления

Этот метод можно использовать только для числовых значений, кроме 0.

P = 11.2 Q = 21.1 print("Variables Value Before Swapping: ") print("Value of P: ", P) print("Value of Q: ", Q) # Method to swap 'P' and 'Q' P = P * Q # P = 236.32, Q = 21.1 Q = P / Q # P = 236.32, Q = 11.2 P = P / Q # P = 21.1, Q = 11.2 print("Variables Value After Swapping: ") print("Value of P: ", P) print("Value of Q: ", Q)
Variables Value Before Swapping: Value of P: 11.2 Value of Q: 21.1 Variables Value After Swapping: Value of P: 21.1 Value of Q: 11.2

Метод 5: с использованием побитовых и арифметических операторов

В этом методе мы будем использовать как побитовые, так и арифметические операторы. Этот метод работает только с целыми числами, но не с числами с плавающей запятой.

P = 112 Q = 211 print("Variables Value Before Swapping: ") print("Value of P: ", P) print("Value of Q: ", Q) # Same as P = P + Q P =(P & Q) +(P | Q) ; # Same as Q = P - Q Q = P +(~Q) + 1 ; # Same as P = P - Q P = P +(~Q) + 1 ; print("Variables Value After Swapping: ") print("Value of P: ", P) print("Value of Q: ", Q)
Variables Value Before Swapping: Value of P: 112 Value of Q: 211 Variables Value After Swapping: Value of P: 211 Value of Q: 112

Заключение

В этом руководстве мы обсудили различные методы, используемые для обмена значениями двух переменных без использования третьей.

Читайте также:  Java mapping properties file

Источник

Обмен значений двух переменных

Данная программа принимает от пользователя два значения и записывает каждое из них в отдельную переменную. Затем она меняет местами значения этих переменных без ввода временной переменной.

Решение задачи

  1. Пользователь вводит два значения, которые записываются в две разные переменные.
  2. Значения двух переменных складываются и результат сложения записывается в первую переменную.
  3. Далее из первой переменной вычитается вторая переменная и результат записывается во вторую переменную.
  4. Затем из первой переменной вычитаем вторую (с уже обновленным значением) и записываем полученный результат в первую переменную.
  5. Выводим полученные значения.
  6. Конец.

Исходный код программы

Ниже приведен исходный код программы по замене значений двух переменных без использования третьей переменной. Далее также будет приведен результат работы этого кода.

a = int(input("Введите значение первой переменной: ")) b = int(input("Введите значение второй переменной: ")) a = a + b b = a - b a = a - b print("a это:", a, " b это:", b)

Объяснение работы программы

  1. Пользователь вводит значение двух переменных и они записываются в переменные а и b .
  2. В переменную а записывается сумма а и b .
  3. В переменную b записывается разность переменной а (в которой сейчас находится сумма первоначальных значений a и b ) и переменной b . Таким образом первоначально введенное значение переменой a перешло в переменную b .
  4. Теперь вычитаем из переменной a (где сейчас по-прежнему находится сумма первоначально введенных величин) текущее значение переменной b (которое первоначально было записано в переменную a ). Таким образом в переменной a остается только значение, которое в начале программы было записано в переменную b .
  5. И далее выводим полученные значения на экран.

Результаты работы программы

Case 1 Введите значение первой переменной: 3 Введите значение второй переменной: 5 a это: 5 b это: 3 Case 2 Введите значение первой переменной: 56 Введите значение второй переменной: 25 a это: 25 b это: 56

Примечание переводчика

Все что было описано выше (в пунктах 2, 3, 4), в языке Python можно сделать в одну строчку. И это одно из основных достоинств этого языка программирования.

a=int(input("Введите значение первой переменной: ")) b=int(input("Введите значение второй переменной: ")) a, b = b, a # собственно здесь и происходит обмен значениями print("a это:",a," b это:",b)

Источник

Оцените статью