Skip to content

Commit

Permalink
Merge pull request #1941 from NitkarshChourasia/master
Browse files Browse the repository at this point in the history
Update Swap.py using best practices and standards of python.
  • Loading branch information
geekcomputers authored Jul 26, 2023
2 parents fd181de + 95a57df commit 1017326
Showing 1 changed file with 76 additions and 9 deletions.
85 changes: 76 additions & 9 deletions swap.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,79 @@
x = 5
y = 10
class Swapper:
"""
A class to perform swapping of two values.
# To take inputs from the user
# x = input('Enter value of x: ')
# y = input('Enter value of y: ')
Methods:
-------
swap_tuple_unpacking(self):
Swaps the values of x and y using a tuple unpacking method.
swap_temp_variable(self):
Swaps the values of x and y using a temporary variable.
swap_arithmetic_operations(self):
Swaps the values of x and y using arithmetic operations.
# Swap the values of x and y without the use of any temporary value
x, y = y, x
"""

print("The value of x after swapping: {}".format(x))
print("The value of y after swapping: {}".format(y))
def __init__(self, x, y):
"""
Initialize the Swapper class with two values.
Parameters:
----------
x : int
The first value to be swapped.
y : int
The second value to be swapped.
"""
if not isinstance(x, int) or not isinstance(y, int):
raise ValueError("Both x and y should be integers.")

self.x = x
self.y = y

def display_values(self, message):
print(f"{message} x: {self.x}, y: {self.y}")

def swap_tuple_unpacking(self):
"""
Swaps the values of x and y using a tuple unpacking method.
"""
self.display_values("Before swapping")
self.x, self.y = self.y, self.x
self.display_values("After swapping")

def swap_temp_variable(self):
"""
Swaps the values of x and y using a temporary variable.
"""
self.display_values("Before swapping")
temp = self.x
self.x = self.y
self.y = temp
self.display_values("After swapping")

def swap_arithmetic_operations(self):
"""
Swaps the values of x and y using arithmetic operations.
"""
self.display_values("Before swapping")
self.x = self.x - self.y
self.y = self.x + self.y
self.x = self.y - self.x
self.display_values("After swapping")


print("Example 1:")
swapper1 = Swapper(5, 10)
swapper1.swap_tuple_unpacking()
print()

print("Example 2:")
swapper2 = Swapper(100, 200)
swapper2.swap_temp_variable()
print()

0 comments on commit 1017326

Please sign in to comment.