37 lines
839 B
Python
37 lines
839 B
Python
class Number:
|
|
def __init__(self, number):
|
|
self.number = number
|
|
|
|
def __add__(self, x):
|
|
if isinstance(x, (int, float)):
|
|
return Number(self.number + x)
|
|
return Number(self.number + x.number)
|
|
|
|
def __sub__(self, x):
|
|
if type(x) is int or type(x) is float:
|
|
return Number(self.number - x)
|
|
return Number(self.number - x.number)
|
|
|
|
def __mul__(self, x):
|
|
if isinstance(x, (int, float)):
|
|
return Number(self.number * x)
|
|
return Number(self.number * x.number)
|
|
|
|
def __truediv__(self, x):
|
|
if isinstance(x, (int, float)):
|
|
return Number(self.number / x)
|
|
return Number(self.number / x.number)
|
|
|
|
def __str__(self):
|
|
return str(self.number)
|
|
|
|
|
|
x = Number(10)
|
|
y = Number(20)
|
|
|
|
z = x + y
|
|
print(z)
|
|
|
|
z = x + 10
|
|
print(z)
|