Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/88: Рейтинг темы: голосов - 88, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 17.09.2019
Сообщений: 26

Реализовать метод __repr__, возвращающий строковое представление в выбранном нами формате

18.09.2019, 20:45. Показов 18568. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сами точки класса Point выводятся так, как было задумано, чего не скажешь о выводе списка точек.

>>> print([Point(’A’, 0, 3), Point(’B’, 4, 0)])
[<__main__.Point object at 0x0321CF10>, <__main__.Point object at 0x0321C290>]
Дело в том, что контейнеры при выводе своих элементов используют не метод __str__ (удобный для печати), а более строгий и формальный метод __repr__.

Конечно, мы можем определить __repr__ точно таким же образом как и __str__, но правильнее будет задать такое «официальное» представление экземпляра класса, чтобы из него можно было как можно легче (например, с помощью функции eval) и без потери информации получить обратно такой же объект (или по крайней мере максимально приближенный к исходному).

В нашем случае такое формальное строковое представление может выглядеть как создание объекта в коде: имя класса и в круглых скобках три параметра, например, Point(’A’, 1, 5). Для простоты будем считать, что кавычки и спецсимволы в именах точек встречаться не могут.

Таким образом, наша задача — реализовать метод __repr__, возвращающий строковое представление в выбранном нами формате.
Формат ввода
Каждый тест представляет собой код, в котором будет использоваться ваш класс.
Пример
Ввод
Python
1
2
3
4
5
6
from solution import Point
 
points = [Point('A', 0, 3), Point('B', 4, 0)]
print(points)
print(points[0])
print(repr(points[0]))
вывод
[Point('A', 0, 3), Point('B', 4, 0)]
A(0, 3)
Point('A', 0, 3)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2019, 20:45
Ответы с готовыми решениями:

Реализовать метод, возвращающий массив
Собственно сабж. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace...

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

Реализовать метод возвращающий степень числа.
задача Реализовать метод возвращающий степень числа. помогите пожалуйста написать программу на с#

4
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
18.09.2019, 20:51
интересное задание, спасибо, что поделился.
5
0 / 0 / 0
Регистрация: 06.03.2020
Сообщений: 1
30.09.2020, 10:57
Помогите ее решить
0
0 / 0 / 0
Регистрация: 30.07.2021
Сообщений: 1
17.09.2021, 10:42
Прошло на ЯЛ:


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Point():
    def __init__(self, name, x, y):
        self.name = name
        self.x = x
        self.y = y
 
    def __repr__(self):
        return f"Point('{self.name}', {self.x}, {self.y})"
 
    def __str__(self):
        return '{}({}, {})'.format(self.name, self.x, self.y)
 
    def get_x(self):
        return int(self.x)
 
    def get_y(self):
        return int(self.y)
 
    def get_coords(self):
        return (self.x, self.y)
 
    def __invert__(self):
        return Point(self.name, self.y, self.x)
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
17.09.2021, 19:55

Не по теме:

Цитата Сообщение от Tron_amx Посмотреть сообщение
Прошло на ЯЛ:
прошел год....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.09.2021, 19:55
Помогаю со студенческими работами здесь

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

Реализовать метод, возвращающий отсортированный список дат
Реализовать метод, который принимает в себя список объектов даты и времени по совершенным покупкам/заказам, а возвращает список дат (без...

Реализовать метод get(), возвращающий экземпляр внутреннего класса
Для представленного ниже класса B необходимо реализовать метод get(), возвращающий экземпляр внутреннего класса A.Inner. class A{ ...

Как реализовать метод, возвращающий информацию по всей очереди в табличном виде?
наполните очередь событий 3-мя событиями: «старт», «продолжение», «окончание». Создайте метод, возвращающий информацию по всей очереди в...

Строковое представление
Напишите функцию itoa(int a, char *s), которая сохдает строковое представление a и возвращает его в s. Целое число должно передоваться в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru