Assignment Requirement: Write a program to swap two numbers by using a temporary variable and, without using temporary variable in Python
1) Using temporary variable
# Python program to swap two variables
# To take input from the user uncomment this these two lines
# x = input('Enter value of x: ')
# y = input('Enter value of y: ')
x = 5
y = 10
# create a temporary variable and swap the values
temp = x
x = y
y = temp
print('The value of x after swapping: {}'.format(x))
print('The value of y after swapping: {}'.format(y))
Output
The value of x after swapping: 10
The value of y after swapping: 5
Here in the above program, the temp variable is temporarily that holds the value of x. We then put the value of y in x and later temp in y. In this way, the values get exchanged
Source Code: Without Using Temporary Variable
In python programming, there is a simple construct to swap variables. The following code does the same as above but without the use of any temporary variable.
x, y = y, x
If the variables are both numbers, we can use arithmetic operations to do the same. It might not look intuitive at the first sight. But if you think about it, its pretty easy to figure it out.
Here are a few example
Swapping using Addition and Subtraction
x = x + y
y = x - y
x = x - y
Swapping using Multiplication and Division
x = x * y
y = x / y
x = x / y
Swapping using XOR swap
This algorithm works for integers only
x = x ^ y
y = x ^ y
x = x ^ y