|
24 / 18 / 9
Регистрация: 27.04.2017
Сообщений: 122
|
||||||
простенькая задача с классом (как упростить код)22.05.2017, 12:50. Показов 979. Ответов 8
Метки нет (Все метки)
всем привет.
есть задача и я вроде бы решил, но меня не покидает ощущение, что я наговнокодил и это не пайтон-стиль. как можно написать это элегантнее? условие: создаем класс, в __init__ засовываем максимальную длину списка. потом одним из методов запихиваем в лист произвольное количество аргументов, и если их больше, чем макс.длина, то удалять надо сначала.
0
|
||||||
| 22.05.2017, 12:50 | |
|
Ответы с готовыми решениями:
8
Простенькая задача по JS Простенькая задача |
|
|
||||||
| 22.05.2017, 14:16 | ||||||
|
Неплохо бы сначала описать, что нужно сделать.
А так - да, говнокод. Цикл тут совершенно не нужен. Смотрим сумму длин self.list и пришедшего args. Если она больше self.maxsize, то берём срез:
0
|
||||||
|
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
|
||||||
| 22.05.2017, 15:00 | ||||||
|
ну я бы так сделал согласно условию только бы имя переменной не задавал бы list а хотя бы l_ist
1
|
||||||
|
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
|
|
| 22.05.2017, 15:22 | |
|
dondublon, а что если len(args) > self.maxsize?
0
|
|
|
24 / 18 / 9
Регистрация: 27.04.2017
Сообщений: 122
|
||||||
| 22.05.2017, 15:30 [ТС] | ||||||
|
извиняюсь, что сумбурно описал исходное условие.
В конструктор класса передаем одно значение - максимальную длину списка. С помощью метода класса мы заполняем наш список элементами, при этом надо учитывать макс.длину списка, и если количество переданных в метод элементов больше, то мы оставляем в списке только последние N-элементов (при этом N равен макс.длине списка, переданной в конструктор). моя вторая попытка (смотрится еще страшнее первой )
0
|
||||||
|
16 / 14 / 12
Регистрация: 02.10.2015
Сообщений: 44
|
|||||||||||
| 22.05.2017, 17:58 | |||||||||||
|
Можно через дек
1
|
|||||||||||
|
5 / 5 / 1
Регистрация: 20.05.2017
Сообщений: 44
|
|||||||||||
| 23.05.2017, 12:47 | |||||||||||
|
Смысл в условиях? Результаты верные при входящих аргументов (больше, равно, меньше) длины списка
Прошлая версия выдавала неправильный результат при нескольких вызовах функции push() добавил условие теперь все верно.
0
|
|||||||||||
|
24 / 18 / 9
Регистрация: 27.04.2017
Сообщений: 122
|
|
| 24.05.2017, 10:51 [ТС] | |
|
всем спасибо, что помогли взглянуть на решение задачи с более оптимальной стороны.
0
|
|
| 24.05.2017, 10:51 | |
|
Помогаю со студенческими работами здесь
9
Простенькая задача Простенькая задача
Простенькая задача Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|