Условия задачи:
Напишите программу, в которой описан класс со следующими свойствами. В классе описан конструктор, которому в качестве аргументов (помимо первой ссылки на создаваемый объект) передаются текст и целое число, причем в произвольном порядке. Число и текст присваива-
ются как значения определенным полям. Если переданы два текстовых значения, то создается только текстовое поле со значением, получающимся объединением значений аргументов. Если аргументами переданы два числовых поля, то у объекта будет только поле с целочисленным
значением, равным сумме значений аргументов. В иных случаях поля для объекта не создаются. Создать на основе класса объекты и проверить функциональность кода.
Решение задачи:
class Myclass:
def __init__(self, value1, value2):
if type(value1) == int and type(value2) == str:
self.num = value1
self.txt = value2
elif type(value2) == int and type(value1) == str:
self.num = value2
self.txt = value1
elif type(value2) == int and type(value1) == int:
self.num = value1 + value2
elif type(value2) == str and type(value1) == str:
self.txt = value1 + value2
def show(self):
lst = ['num', 'txt']
for _ in lst:
if _ in dir(self):
print(f'Значение {_} составит {self.__dict__[_]}')
else:
print(f'У объекта нет полей- атрибутов {_}')
a = Myclass(1,3)
a.show()