операционная система Windows 10
версия Python 3,7
Создать класс, представляющий число на основе его символьного записи и основы системы
счисления (2, 8, 10 или 16). Отображение экземпляру класса на экран подать в формате
"Число_основа". Реализовать метод определения записи числа в десятичной системы счисления.
Перезагрузить оператор "+" так, чтобы он возвращал десятичная запись конкатенации двух
чисел.
Создать дочерний класс, содержащий информацию о числе и его парность.
Проблема в дочернем классе. Я пробовал исправить возможно даже искалечил код но ничего не получилось.
Помогите пожалуста понять в чем проблема и как ее исправить
версия Python 3,7
Создать класс, представляющий число на основе его символьного записи и основы системы
счисления (2, 8, 10 или 16). Отображение экземпляру класса на экран подать в формате
"Число_основа". Реализовать метод определения записи числа в десятичной системы счисления.
Перезагрузить оператор "+" так, чтобы он возвращал десятичная запись конкатенации двух
чисел.
Создать дочерний класс, содержащий информацию о числе и его парность.
Проблема в дочернем классе. Я пробовал исправить возможно даже искалечил код но ничего не получилось.
Помогите пожалуста понять в чем проблема и как ее исправить
Python:
class NumberA():
def __init__(self, num, bas):
self.num = num
self.bas = bas
def print_data(self):
print(f'{self.num}_{self.bas}')
print(f'{str(int(self.num, self.bas))}')
def __add__(self, other):
print(f'{self.num}{other.num}_{self.bas}')
print(f'{str(int(self.num + other.num, self.bas))}')
class NumberInfo(NumberA):
def __init__(self, num, bas, parity):
super().__init__(num, bas)
self.parity = parity
def parity(self):
if self.num%2 == 0:
print('Number is prime')
else :
print("Number is not prime ")
def str(self):
return f'{self.parity}'
binar = NumberA('110',2)
print(binar.print_data(), "parity")
octal = NumberA('21',8)
print(octal.print_data(), "self.num")
decimal = NumberA('69',10)
print(decimal.print_data(), "number_info")
hexl = NumberA('4A6',16)
print(hexl.print_data(), "parity")
n1 = NumberA('110',2)
n2 = NumberA('11', 2)
n3 = n1 + n2
print(n3, "number_info")
n4 = NumberA('21', 8)
n5 = NumberA('2', 8)
n6 = n4 + n5
print(n6, "number_info")
n7 = NumberA('69', 10)
n8 = NumberA('25', 10)
n9 = n7 + n8
print(n9, "number_info")
n10 = NumberA('4A6', 16)
n11 = NumberA('1F1', 16)
n12 = n10 + n11
print(n12, "parity")
Последнее редактирование модератором: