Форум сайта python.su
Приветствую,
выполняю задание:
у некого проекта есть список волонтёров. Ниже в программе я обозначил его vol_datas
Требуется написать программу, которая позволяла бы составлять список нескольких гостей. У меня - идея вывести в результат гостей 2 и 3 из списка vol_datas
Решите задачу с помощью метода конструктора и примените один из принципов наследования.
При выводе в консоль вы должны получить формат: “Мистер Х, Москва, статус “консультант”
—————————————————————
Я тут начал писать программу, конечно код не готов и содержит заготовки-излишки которые могут не понадобится, но это - калька для решения (заданный стиль).
class Volunteers: def __init__(self, name, place, status): self.name = name self.place = place self.status = status vol_datas = [ {"name": "Ivanov", "place": "Moscow", "status": 'Consultant'}, {"name": "Pertov", "place": "St. Petersburg", "status": 'Mentor'}, {"name": "Schwarz", "place": "Viena", "status": 'Trainer'} ] obj_lst = [] for vol_data in vol_datas: obj_lst.append(Volunteers(**vol_datas)) # raspakowka spiska? class Guests(Volunteers): # это обязательный пункт в программе: наследование # класса должно быть задействовано ........... # def Persons_obj (...) ???????? for i in range(1, 3): # idea: we select line 1 and line 2 from list Vol_data to output in result return("name of guest:", Vol_data[i].name, "place:", Vol_data[i].place, "status:", Vol_data[i].status) # print(??... Persons_obj....) как-то tak ???
Отредактировано Rikin (Янв. 4, 2022 04:41:46)
Офлайн
Rikin
Вы сами себя-то понимаете?
Rikin
у некого проекта есть список волонтёров. Ниже в программе я обозначил его vol_datas
Требуется написать программу, которая позволяла бы составлять список нескольких гостей.
Rikinперечислите, пожалуйста, принципы наследования
примените один из принципов наследования
Rikin
При выводе в консоль вы должны получить формат
Rikinв задании нет ничего про вывод на консоль. Составление списка не требует операций ввода-вывода. При чем здесь консоль
Требуется написать программу, которая позволяла бы составлять список нескольких гостей.
Офлайн
Задача составлена не учеником и всё что было сформулировано в условии задания - передано мной здесь в теме (уж никак не менее).
А так как у меня и у самого всё свежо - я не могу давать 100%-достоверных ограничений и предписывать правила преобразований. Я начал писать код - как могу сейчас и т.о. предлагаю направление решения.
Ранее было сказано - подходить к решению творчески, на своё усмотрение (если что) и с учётом показанных ранее примеров.
Поэтому - то чего не до конца ясно - доформулируем сами (в случае неясности с постановкой задач, ограничений и применяемых методов - предлагаю применить допущения на наше усмотрение - я же еще не знаю пока о возможностях решения), во всяком случае попробовать бы…
А следы от приведенных ранее примеров - я интегрировал в мою наброску/кальку для будущего кода, например наследование:
class Guests(Volunteers):
Отредактировано Rikin (Янв. 4, 2022 14:57:42)
Офлайн
Вот один ученик попытался выполнить эту задачу - по кратчайшему пути (без наследования).
Ход, очевидно верный, но надо бы задействовать наследование.
class Param: def __init__(self, name, place, status): self.name = name self.place = place self.status = status def __str__(self): return f'Клиент: {self.name}. Место жительства:{self.place}. Статус:{self.status}' Client1 = Param(name='Ivanov', place='Moscow', status='Teacher') Client2 = Param(name='Петров', place='Paris', status='тренер') Client3 = Param(name='Сидиров', place='London', status='консультант') print(Client1.__str__()) print(Client2.__str__()) print(Client3.__str__())
Отредактировано Rikin (Янв. 4, 2022 14:59:14)
Офлайн
Вот еще из ранее рассмотренного примера:
Мы создавали объект ХХХ как экземпляр наследующего класса УУУУ (в нашем случае это бы был некой обьект наследующего класса Guests), но при этом ему доступны как атрибуты родительского класса (у нас родительский класс это class Volunteers), так и его методы (то есть еще и методы)….
Отредактировано Rikin (Янв. 4, 2022 15:10:26)
Офлайн
FishHook
А иначе к Амаяку Акопяну, он умеет из списка волонтеров получать список гостей по неведомому закону.
Отредактировано Rikin (Янв. 4, 2022 17:36:25)
Офлайн
class Person: def __init__(self, name: str): self.name = name def __str__(self): return f'{self.name}' class Volunteer(Person): def __init__(self, name: str, city: str, status: str): super().__init__(name) self.city = city self.status = status def __str__(self): return f'{self.name}, {self.city}, f{self.status}'
Офлайн
спасибо, Конечно круто вы коды создаёте.
Но… у нас есть исходный полный список волонтёров
vol_datas = [ {"name": "Ivanov", "place": "Moscow", "status": 'Consultant'}, # Position 0 {"name": "Pertov", "place": "St. Petersburg", "status": 'Mentor'}, # Position 1 {"name": "Schwarz", "place": "Viena", "status": 'Trainer'} # Position 2
{"name": "Pertov", "place": "St. Petersburg", "status": 'Mentor'}, # Position 1 {"name": "Schwarz", "place": "Viena", "status": 'Trainer'} # Position 2
Отредактировано Rikin (Янв. 5, 2022 01:05:49)
Офлайн
RikinКороче, ты взял курс, который слишком продвинутый для тебя. Он не будет эффективен.
Прошу помощи
Отредактировано py.user.next (Янв. 5, 2022 01:50:26)
Офлайн
Rikin
Дорогой друг, вас очень сложно понять, чего же вы хотите. То-ли непоследовательно изучаете материал, и поэтому у вас задача на ООП, а вы не знаете как выполнить поиск в списке и отсюда всякая терминология вроде “выуживания строк”, то-ли у вас сложности с письменным русским языком и вы не можете корректно сформулировать мысль. Без обид, но я просто не понимаю чего вы хотите получить в итоге. У вас есть задание в том виде, как вам его дал преподаватель?
Офлайн