Уведомления

Группа в Telegram: @pythonsu

#1 Май 9, 2025 17:39:16

andreeva.eliz4
Зарегистрирован: 2025-05-09
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Очень нужна помощь в написании класса для создания списка

Условие:
Саша и Даша очень любят использовать списки в Python. К сожалению, обычный list
уже не приносит им того удовольствия. Поэтому они решили добавить в свою
программистскую жизнь новых красок и создать свой список FunnyList! Особенность
этого списка заключается в том, что метод append() добавляет число не в конец, а в
начало списка (весь остальной функционал списка(list) должен остаться нетронутым).
Так как Саша и Даша еще только начинают разбираться в объектно-ориентированном
программировании, то они просят вас помочь им написать класс FunnyList!

Пример 1:
Ввод:
funny_list = FunnyList()
funny_list.append(10)
funny_list.append(11)
funny_list.append(12)
print(*funny_list)

Вывод:
12 11 10

Пример 2:
Ввод:
print(*sorted(funny_list))

Вывод:
10 11 12

Пример 3:
Ввод:
print(*FunnyList()

Вывод:
1 2 3

Совет:Используйте наследование классов



Лучшее что получилось


class FunnyList(list):
def __init__(self, iterable):
super().__init__(str(item) for item in iterable)
def __setitem__(self, index, item):
super().__setitem__(index, str(item))

def insert(self, index, item):
super().insert(index, str(item))

def append(self, item):
super().insert(0, str(item))

def extend(self, other):
if isinstance(other, type(self)):
super().extend(other)
else:
super().extend(str(item) for item in other)


funny_list = FunnyList('')

funny_list.append(10)
funny_list.append(11)
funny_list.append(12)


print(*funny_list)
print(*sorted(funny_list))
print(*FunnyList())

Отредактировано andreeva.eliz4 (Май 9, 2025 17:56:18)

Офлайн

#2 Май 9, 2025 18:50:37

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2798
Репутация: +  185  -
Профиль   Отправить e-mail  

Очень нужна помощь в написании класса для создания списка

 class FunnyList(list):
     def append(self, item):
         self.insert(0, item)



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version