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

Содержание

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

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

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

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

Left, Right = Right, Left
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.

Шаблонная функция. Меняет местами значения переменных с помощью ссылок. c++ для начинающих. Дз#10


P ^= Q Q ^= P P ^= Q
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 = P + Q Q = P — Q P = P — Q
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 = P * Q Q = P / Q P = P / Q
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: с использованием побитовых и арифметических операторов

Python l Обмен значений двух переменных. Без третьей переменной

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

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

Заключение

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

Источник: pythonpip.ru

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

В определенных ситуациях вам нужно поменять местами переменные в скриптах Python. Итак, допустим, a = 5 и b = 10. После замены a = 10 и b = 5.

Before Swapping: a=5 b=10
After swapping: a=10 b=5

Теперь я покажу вам несколько интересных методов для замены двух переменных в Python.

  1. Использование временной переменной
  2. Использование оператора запятой (встроенный метод)
  3. Использование арифметических операторов

1. С помощью временной переменной

Здесь мы сохраняем значение во временную переменную, а затем присваиваем его обратно.
Пусть временная переменная будет «temp».

a=100 b=50
temp=a // Здесь мы сохраняем значение «a» в temp. a=b // Присваиваем значение b переменной a. b=temp // Присваиваем значение temp параметру b.
print(a) print(b)
Этот метод можно использовать с целыми числами, числами с плавающей запятой и строками.

2. Использование оператора запятой

Это довольно простой метод присвоения переменных.
a=100 b=50
a,b = b,a print(a) print(b)
Этот метод также работает с целыми числами, числами с плавающей запятой и строками.

3. Использование арифметических операторов.

Используя арифметические операторы, мы можем сделать это двумя способами.
Мы можем использовать его как комбинацию сложения и вычитания; и как комбинация умножения и деления.

Читайте также:
Где хранятся программы в телефоне

3а. Использование комбинации сложения и вычитания

a=10 b=2 a=a+b // a=10+2=12 b=a-b // b=12-2=10 a=a-b // a=12-10=2 print(a) print(b)

3b. Использование комбинации умножения и деления

a=100 b=20 a=ab // a=10020=2000 b=a/b // b=2000/20=100 a=a/b // a=2000/100=20 print(int(a)) print(int(b))
Эти методы работают только с целыми числами.
Мы можем использовать метод 2 и метод 3 без отдельной переменной.
Если у вас есть другие методы, прокомментируйте это !!
3 комментария Facebook Twitter VK Odnoklassniki Whatsapp Telegram

itisgood

previous post

☁️ VPS или хостинг – что лучше?
Как выполнить пробный запуск процесса обновления CentOS

You may also like

Проверка, содержит ли переменная число на Bash

Преобразование символов в нижний регистр на Bash.

⏲️ Дата в формате ГГГГ-ММ-ДД в скриптах Shell

Как определить, когда служба была запущена и остановлена.

Shell скрипт для вывода пирамиды звезд

Shell/Bash скрипт для поиска простых чисел на.

Как создать игру “Змейка” на языке Python

Как распарсить логи истории apt

Shell скрипты – удаление двойных кавычек (“”).

Как обнаружить внутри Bash скрипта путь, по.

3 комментария

Sykin Son 26.03.2022 — 09:29
a = a ^ b
b = a ^ b
a = a ^ b
Марк 16.05.2022 — 06:13
Почему вы комментарий отделяете двойным слэшем? Это вроде как арифметический оператор в Питоне?
Алексей 20.08.2022 — 15:11
Согласен, сначала тоже не понял

Leave a Comment Cancel Reply

• Свежие записи

  • Как удалить удаленный Git
  • Как улучшить работу с Windows 11 (решение проблем ОС)
  • Как подготовить ноутбук перед продажей и кому его продать?
  • Чтение файла построчно на Bash
  • Как правильно оформить ипотеку на вторичное жильё?
  • В чем разница между IMAP и POP3
  • ✔️ Как управлять контейнерами LXD от имени обычного пользователя
  • Руководство для начинающих по созданию первого пакета Debian
  • Феноменальная популярность электроники Xiaomi: основные причины
  • Лаки Джет онлайн игра.

• Категории

• Теги

• itsecforu.ru

• Страны посетителей

IT is good

В 11-й версии своей операционной системы Microsoft серьезно переработала интерфейс и убрала несколько привычных функций. Нововведения не всем пришлись по душе. Мы дадим…

Продажа ноутбука нередко становится хлопотным занятием. Кроме поиска покупателя, продавцу необходимо подготовить устройство перед проведением сделки. Но если последовательно выполнить все шаги, ничего…

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

Вторичное жильё выгоднее для молодых семей, желающих приобрести свою первую квартиру. Сталкиваясь с ипотечным кредитованием, можно избежать много лишней суеты и проблем, если…

Протоколы, используемые для получения электронной почты, являются важной частью функционирования Интернета, и все же они остаются практически незаметными для большинства пользователей. Два наиболее…

Источник: itisgood.ru

Обмен значений переменных: разбор популярных способов решения известной задачи с IT-собеседований

Обложка: Обмен значений переменных: разбор популярных способов решения известной задачи с IT-собеседований

Самый простой способ взаимно менять значения переменных — использование swap(a, b) или же аналогичного стандартного метода. Тем не менее, важно понимать как работает операция по обмену значений двух переменных, что мы покажем на нескольких примерах.

Для начала продемонстрируем неправильную реализацию и выясним, что в ней не так.

Ошибочная реализация

a = b; b = a;

Читайте также:
Как назвать программу по речевому развитию

Теперь обратимся к правильной реализации.

С использованием буфера

Буфером в данном случае называется дополнительная используемая память. Давайте разберёмся зачем она здесь нужна. Если помните, в неправильной реализации мы потеряли значение переменной a после первой операции присваивания, в связи с чем в обеих доступных переменных осталось значение b . Чтобы этого избежать нам понадобится ещё одна переменная — c . В таком случае правильный алгоритм будет выглядеть так:

c = a; a = b; b = c;

Для наглядности разберём его пошагово:

  1. Присваиваем переменной c значение переменной a . Сейчас в a записана a , в b — b , а в c — a .
  2. Присваиваем переменной a значение переменной b . Теперь в a хранится b , в b — также b и в c — a .
  3. Присваиваем переменной b значение переменной c . Сейчас в a находится старое значение b , в b — a , ну и в c остаётся a .

Как вы видите, переменная c после выполнения алгоритма не нужна, поэтому далee в программе её можно не использовать и даже вовсе удалить из памяти.

Сразу стоит заметить, что это самое краткое и экономное решение задачи, но можно использовать и больше переменных, не так ли?

Нам повезло, что сейчас вопрос экономии оперативной памяти не стоит так остро, как 20-30 лет назад. Тем не менее, в те времена swap был востребован не меньше, поэтому умные люди нашли способ заменить значения двух переменных без ввода третьей.

Арифметика

Сложение / вычитание

a = a + b; b = a — b; a = a — b;

Для лучшего восприятия снова разберём алгоритм построчно:

  1. Присваиваем переменной a сумму значений переменных a и b . Сeйчас в a записано значение a + b , а в b всё ещё b .
  2. Переменной b присваиваем разность между новым значением переменной a и переменной b . В a также хранится a + b , но в b уже a .
  3. Наконец, присваиваем переменной a результат вычитания b из обновлённого значения a . Получается, что в a теперь содержится b , а в b — a .

Для C-подобных языков сокращённая запись этого алгоритма выглядит так:

a = a + b — (b = a);

Умножение / деление

Аналогичный способ решения задачи получается при замене сложения умножением и вычитания делением:

a = a * b; b = a / b; // деление НЕ целочисленное a = a / b;

В сокращённом варианте:

a = a * b / (b = a);

Вычитание / Сложение

Вообще, в математике действие вычитания отсутствует и является сложением положительного и отрицательного чисел. Отсюда следует, что мы можем поменять местами операции сложения и вычитания:

a = a — b; b = a + b; a = -a + b;

Обратите внимание, что в последней строке знак у переменной a изменился, а саму строчку можно записать иначе: a = b — a; .

Такой же принцип можно использовать поменяв местами деление и умножение.

Недостатки арифметического метода

Главным недостатком является большее количество операций, в чём можно убедиться посчитав операции сложения, вычитания и присваивания. Тeм болee, что умножeниe и дeлeниe болee «дорогостящиe». Заметной потеря скорости становится в ситуации, когда трeбуeтся менять значения большого количества пeрeмeнных.

Второй важный нeдостаток это область применения — числа. Согласитесь, менять значения пeрeмeнных, содержащих объeкты попросту нe получится без перегрузки операции. Впрочeм, дажe с числами могут возникнуть проблемы — арифметика для вeщeствeнных чисeл можeт выполняться некорректно, что приведёт к неожиданному результату.

Eстeствeнно, существует и менее очевидный способ рeшeния задачи без использования дополнительной памяти. Он основан на свойствах логических операций и работает с битовым представлением числа, а значит быстрее арифметического метода.

Битовые операции

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