Найти - Пользователи
Полная версия: Очень нужна помощь в написании класса для создания списка
Начало » Python для новичков » Очень нужна помощь в написании класса для создания списка
1
andreeva.eliz4
Условие:
Саша и Даша очень любят использовать списки в 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())
Rodegast
 class FunnyList(list):
     def append(self, item):
         self.insert(0, item)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB