|
7 / 7 / 0
Регистрация: 15.02.2018
Сообщений: 56
|
||||||||||||||||
Реализовать класс Table, который хранит целые числа в двумерной таблице22.03.2018, 22:31. Показов 73867. Ответов 27
Метки нет (Все метки)
Реализовать класс Table, который хранит целые числа в двумерной таблице. При инициализации Table(rows, cols) экземпляру передаются число строк и столбцов в таблице. Строки и столбцы нумеруются с нуля. Ячейки таблицы инициализируются нулями.
table.get_value(row, col) — прочитать значение из ячейки со строкой row, столбцом col. Если ячейка с индексами row и col не лежит внутри таблицы, нужно вернуть None. table.set_value(row, col, value) — записать число в ячейку со строкой row, столбцом col. Гарантируется, что в тестах будет в запись только в ячейки внутри таблицы. table.n_rows() — вернуть число строк в таблице. table.n_cols() — вернуть число столбцов в таблице. Формат ввода Каждый тест представляет собой код, в котором будут использоваться ваш класс. Файл c решением не обязательно называть solution.py, он будет переименован автоматически. Тест запускается с вашим классом, а его вывод сравнивается с правильным решением. Пример 1 Ввод Вывод
0 0 20 0 0 0 0 0 30 0 Пример 2 Ввод Вывод
0 0 10 20 30 40 None None None None None 10 20 None None 30 40 None None None None None Пример 3 Ввод Вывод
1000 None None None None 1000 None None None None
0
|
||||||||||||||||
| 22.03.2018, 22:31 | |
|
Ответы с готовыми решениями:
27
Реализуйте класс, который хранит целые числа в двумерной таблице Создать класс HugeInt, который хранит в 40-элементном массиве цифр целые числа разрядностью до 40 знаков |
| 30.04.2019, 22:11 | |
|
Semen-Semenich, На самом деле при наследовании расширению подлежат не только методы, но и атрибуты. На самом деле атрибуты инициализируются в методе __init__() , который так же наследуется и подлежит расширению, расширяя при этом атрибуты. Ладно, все это теория, на практике каждый делает как ему нравится.
![]() Что касается данной темы, то я стараюсь не связываться с тестирующими программами. Они часто слишком форализуют ввод и требуют одного решения, не учитывая, что почти каждая задача может решаться разными способами. Поэтому для меня есть задание и есть решение дающее правильный результат. А принимает ли его тестирующая программа меня не волнует.
0
|
|
| 01.05.2019, 14:09 | |
|
Semen-Semenich, Что бы полностью закрыть тему об использовании методов для обращения к атрибутам, вот что говорит об этом Лутц в главе 37 "Управляемые атрибуты":
"Зачем нужно управлять атрибутами? Атрибуты объектов занимают центральное положение в большинстве программ на языке Python – они хранят информацию об объектах или о процессах, протекающих в сценарии. Обычно атрибуты являются простыми именами объектов – атрибут name, например, может быть простой строкой, получить и изменить значение которой можно с применением обычного синтаксиса обращения к атрибутам: person.name # Возвращает значение атрибута person.name = value # Изменяет значение атрибута В большинстве случаев атрибуты присоединяются непосредственно к объектам или наследуются от родительского класса. Такой простейшей модели вполне достаточно для большинства программ, которые вам придется писать на протяжении своей карьеры программиста на языке Python. Однако иногда требуется обеспечить больше гибкости. Предположим, что вы написали программу, которая обращается к атрибуту name непосредственно, но затем вам потребовалось изменить ее, например добавить логику проверки имен при присваивании атрибуту или обеспечить получение видоизмененного имени при обращении к нему. Такого рода доступ к значению атрибута легко реализовать с помощью методов. Однако в этом случае придется изменить программный код везде, где производится обращение к атрибуту name, что может оказаться не самой простой задачей. Кроме того, при таком подходе требуется помнить, как экспортируются значения: как простые значения или как вызовы методов. Если вы помните об этом и используете интерфейс доступа к данным на основе методов, клиенты будут защищены от изменений, – в противном случае изменения могут стать источником проблем. Данная проблема может возникать гораздо чаще, чем можно было бы ожидать. Значение ячейки в программе электронной таблицы, например, может начинать свое существование как простое значение, но позднее превратиться в поле, значение которого вычисляется по некоторой формуле. Поскольку интерфейсы объектов должны быть достаточно гибкими, чтобы поддерживать подобные изменения в будущем, не влияя на работоспособность существующего программного кода, переход к использованию методов выглядит не самым идеальным. Добавление программного кода, вызываемого при обращении к атрибуту. Более удачное решение заключается в том, чтобы в случае необходимости обеспечить автоматический вызов программного кода при обращениях к атрибуту. Выше в этой книге мы уже встречались с некоторыми инструментами, которые позволяют динамически вычислять значения атрибутов при обращении к ним и проверять или изменять значения атрибутов при присваивании. В этой главе будут представлены: • Методы __getattr__ и __setattr__, которые вызываются при обращении к несуществующим атрибутам и при присваивании значений любым атрибутам. • Метод __getattribute__, который вызывается при обращении к любым атрибутам в классах в Python 3.0. • Встроенная функция property, которая позволяет определить для отдельных атрибутов методы чтения и записи, – такие атрибуты часто называют свойствами. • Протокол дескрипторов, который позволяет организовать доступ к отдельным атрибутам с помощью экземпляров классов с произвольными методами чтения и записи. " Semen-Semenich, Из всего сказанного следует, что иногда бывает необходимость при обращении к атрибутам выполнять некоторые действия, но это лучше делать не методами (которые вы написали сами), а другими средствами (в том числе встроенными методами перегрузки __getattr__ и __setattr__ и __getattribute__, которые запускаются автоматически при обращении к атрибутам). В общем для себя я все прояснил, а Вы при необходимости можете обратиться к главе 37 у Лутц М. Изучаем Python (4-е издание, 2011).
0
|
|
| 02.05.2019, 07:36 | |
|
Перенес в отладчик вариант кода Gernima, занес туда коды примеров. Все ответы выдает такие же как и в примерах. Единственно мне не понятно, почему вы в методе get_value(row, col) проверяете что бы заданные координаты были в пределах таблицы, а для метода set_value(row, col, value) не поверяете. Хотя если в этом методе дать координаты выходящие за пределы таблицы, то питон выдает ошибку. Не знаю, имеет ли это значение для тестирующей программы. Во всем остальном код работает правильно. Можно только гадать, что не хватает тестирующей программе.
Или у вас тест уже прошел?
0
|
|
|
5 / 5 / 0
Регистрация: 25.07.2018
Сообщений: 12
|
|
| 28.05.2019, 18:51 | |
|
Viktorrus, тест уже прошел, но ваши разъяснения помогли решить задачу. Я новичок и не удивительно, что моя версия кода плоха, но рабочая, хоть это радует.
0
|
|
|
2 / 2 / 0
Регистрация: 17.04.2020
Сообщений: 8
|
||||||
| 21.04.2020, 23:23 | ||||||
|
проходящий проверку вариант
1
|
||||||
|
0 / 0 / 0
Регистрация: 10.01.2021
Сообщений: 1
|
||||||
| 16.03.2021, 16:16 | ||||||
0
|
||||||
|
2 / 2 / 0
Регистрация: 13.03.2023
Сообщений: 31
|
||||||
| 17.04.2023, 18:17 | ||||||
|
У всех какие то километровые решения как по мне
0
|
||||||
|
2 / 2 / 0
Регистрация: 13.03.2023
Сообщений: 31
|
||||||
| 19.04.2023, 14:04 | ||||||
0
|
||||||
| 19.04.2023, 14:04 | |
|
Реализовать класс Date, который хранит информацию об определенной дате Реализовать длинные целые числа в виде класс Создать класс, который запоминает целые восьмеричные числа в виде строк Класс, полиморфизм (Написать класс, который хранит в себе некий номер ''nip'', проверит его на правильность и вывести результат) Класс,который хранит информацию об участниках спортивных соревнований Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|