Top.Mail.Ru
Ответы

Python помогите мне

Реализовать класс и переопределить магические методы базовых математических операции (сложение, вычитание, умножение, деление), добавив туда выводы в консоль текущего действия.

Например: при умножении выводится сообщение, что происходит умножение.

По дате
По рейтингу
Аватар пользователя
Новичок
123456789101112131415161718192021222324252627282930
 class MathOperations: 
    def __init__(self, x, y): 
        self.x = x 
        self.y = y 
 
    def __add__(self, other): 
        print("Performing addition") 
        return self.x + other.y 
 
    def __sub__(self, other): 
        print("Performing subtraction") 
        return self.x - other.y 
 
    def __mul__(self, other): 
        print("Performing multiplication") 
        return self.x * other.y 
 
    def __truediv__(self, other): 
        print("Performing division") 
        return self.x / other.y 
 
# Example usage 
a = MathOperations(10, 5) 
b = MathOperations(5, 2) 
 
print(a + b) 
print(a - b) 
print(a * b) 
print(a / b) 
 

результат:

123456789
 Performing addition 
15 
Performing subtraction 
5 
Performing multiplication 
50 
Performing division 
5.0 
 
Аватар пользователя
Знаток

class MyMath:
def __init__(self, value):
self.value = value

def __add__(self, other):
print("Производится сложение")
return self.value + other.value

def __sub__(self, other):
print("Производится вычитание")
return self.value - other.value

def __mul__(self, other):
print("Производится умножение")
return self.value * other.value

def __truediv__(self, other):
print("Производится деление")
return self.value / other.value

Аватар пользователя

Вы можете реализовать это с помощью переопределения магических методов __add__, "__sub__", "__mul__ " и "__truediv__" в вашем классе. Например:

class MyClass:
def __init__(self, value):
self.value = value

def __add__(self, other):
print("Происходит сложение")
return self.value + other.value

a = MyClass(10)
b = MyClass(20)
c = a + b
print(c)

Это выведет следующее:

Происходит сложение
30

Аналогично можно реализовать и остальные магические методы.

Аватар пользователя

class MathOperations:
def __init__(self, x, y):
self.x = x
self.y = y

def __add__(self, other):
print("Performing addition...")
return self.x + other.y

def __sub__(self, other):
print("Performing subtraction...")
return self.x - other.y

def __mul__(self, other):
print("Performing multiplication...")
return self.x * other.y

def __truediv__(self, other):
print("Performing division...")
return self.x / other.y

# Example usage
op1 = MathOperations(5, 10)
op2 = MathOperations(7, 3)

result1 = op1 + op2
print(result1) # Output: "Performing addition... 15"

result2 = op1 - op2
print(result2) # Output: "Performing subtraction... 2"

result3 = op1 * op2
print(result3) # Output: "Performing multiplication... 30"

result4 = op1 / op2
print(result4) # Output: "Performing division