Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/103: Рейтинг темы: голосов - 103, средняя оценка - 4.58
29 / 24 / 5
Регистрация: 15.10.2019
Сообщений: 268

ООП, проблема с выводом в классе

23.03.2020, 09:24. Показов 21925. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имею вот такую задачу:

Напишите класс ReversedList, который будет при инициализации экземпляра принимать список и реализовывать доступ к элементам этого списка в обратном порядке.

rl = ReversedList(lst) — создание обратного списка.

len(rl) — число элементов в обратном списке.

rl[i] — доступ к элементам в обратном порядке. rl[0] — последний элемент первоначального списка, rl[1] — предпоследний и так далее.


Подскажите пожалуйста, как выводить элемент списка, если нельзя указывать номер этого элемента.
Вот моя программа, там же и примеры для проверки.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class ReversedList:
    def __init__(self, lst):
        self.lst = lst[::-1]
 
    def __len__(self):
        return len(self.lst)
 
    def __str__(self):
        """ как можно тут вывести элемент?"""
        return '{}'.format(self.lst)
 
 
# пример1
rl = ReversedList([10, 20, 30])
for i in range(len(rl)):
    print(rl[i])
 
# пример2
rl = ReversedList([])
print(len(rl))
 
# пример3
rl = ReversedList([10])
print(len(rl))
print(rl[0])
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2020, 09:24
Ответы с готовыми решениями:

ООП иерархия классов с выводом в текстовом режиме
Помогите с решением "Дана иерархия классов числа-числа кратные 5-числа кратные 25. Написать программу с выводом объектов указанных классов...

ООП перегрузка в классе!
Помогите решить: Нужно сделать чтобы корректно работало следующее: 1. MyString s1("AAA"), s2; 2. s2="VVV"; ...

ООП - класс в классе
Запутался в ООП! Создал класс ААА. В нем публичный класс с параметрами BBB. Создал другой независимый класс CCC. В пытаюсь создать...

4
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
23.03.2020, 09:31
Лучший ответ Сообщение было отмечено billy121 как решение

Решение

billy121,

Python
1
2
def __getitem__(self, index: int):
    return self.lst[index]
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,697
Записей в блоге: 14
23.03.2020, 09:38
Python
1
2
3
4
5
6
7
8
9
class ReversedList:
    def __init__(self, lst):
        self.lst = lst
 
    def __len__(self):
        return len(self.lst)
 
    def __getitem__(self,index):
        return self.lst[-1-index]
2
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
23.03.2020, 09:41
Catstail, список уже перевернут при инициализации класса, так что брать надо прямым, а не обратным индексом.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,697
Записей в блоге: 14
23.03.2020, 10:02
DmFat, а я его не переворачивал при инициализации
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2020, 10:02
Помогаю со студенческими работами здесь

ООП. Сеттер в конструкторе классе
Здравствуйте. Изучаю сейчас ООП в Python и имею проблему с конструктором класса. Вернее сказать со вторым заданием. 1.)Добавить в класс...

ООП, в классе использовать метод, в другом методе
Здравствуйте, в следующем коде, я объявляю класс, прописую в нем метод exp($x, $y) - он возводит в степень и getMin ($x, $y, $z)- из 3...

ООП Перегрузить в классе оператор >> (Внести элемент в массив)
Здравствуйте, моя задача Перегрузить в классе операторы =, <, >, >> , << . Все операторы я перегрузил, остался только оператор >> , я...

ООП: почему переменные в классе обозначают именно так?
Подскажите почему переменые в классе обозначают так class MyClass { var $a; public var $b; } Почему пишеться var...

Проблема с выводом
При запуске main() фигуры становятся на свои места, но проблема - все они принадлежат фигурам чёрного цвета. Что не так? Я не понимаю. Вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru