Swapping of two numbers without third variable in python

Introduction

Swapping two variables means exchanging the value of two variables with each other. This can be easily done with the third variable, but we must not use the third variable here. Let's see how this problem can be solved.

Solution 1

Using arithmetic operator.

Code


# variables
var1 = 33
var2 = 44
print(f"Before swapping, var1={var1} & var2={var2}")

# Swapping operation
var1 = var1 + var2
var2 = var1 - var2
var1 = var1 - var2
print(f"After swapping, var1={var1} & var2={var2}")

Output

Before swapping, var1=33 & var2=44
After swapping, var1=44 & var2=33

Solution2

Using multiplication and division operators.

Code


# variables
var1 = 88
var2 = 45
print(f"Before swapping, var1={var1} & var2={var2}")

# Swapping operation
var1 = var1 * var2
var2 = var1 / var2
var1 = var1 / var2
print(f"After swapping, var1={int(var1)} & var2={int(var2)}")

Output

Before swapping, var1=88 & var2=45
After swapping, var1=45 & var2=88

Solution 3

Using XOR operator.

Code


# variables
var1 = 15
var2 = 18
print(f"Before swapping, var1={var1} & var2={var2}")

# Swapping operation
var1 = var1 ^ var2
var2 = var1 ^ var2
var1 = var1 ^ var2
print(f"After swapping, var1={var1} & var2={var2}")

Output

Before swapping, var1=15 & var2=18
After swapping, var1=18 & var2=15

Solution 4

Using a python trick.

Code


# variables
var1 = 25
var2 = 38
print(f"Before swapping, var1={var1} & var2={var2}")

# Swapping operation
var1, var2 = var2, var1
print(f"After swapping, var1={var1} & var2={var2}")

Output

Before swapping, var1=25 & var2=38
After swapping, var1=38 & var2=25

Subhankar Rakshit

Meet Subhankar Rakshit, a Computer Science postgraduate (M.Sc.) and the creator of PySeek. Subhankar is a programmer, specializes in Python language. With a several years of experience under his belt, he has developed a deep understanding of software development. He enjoys writing blogs on various topics related to Computer Science, Python Programming, and Software Development.

Post a Comment (0)
Previous Post Next Post