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

Метод .append

11.10.2019, 09:53. Показов 2260. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,
Необходимо добавить в список несколько нулевых элементов (чтобы сравнять длину одного списка с другим), при этом нужно чтобы увеличился размер списка на количество введёных элементов. С помощью метода append элементы добавляются, но размер списка при этом не меняется,
Подскажите, пожалуйста, как это можно решить?
Python
1
2
3
4
5
6
i = abs (length1 - length2)
    if length1 > length2:
        i = length1 - length2
        while i != 0:
            poly2.append(0)
            i -= 1
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.10.2019, 09:53
Ответы с готовыми решениями:

Как переопределить встроенный метод .append()
надо переопределить метод .append(), не могу найти его название, например как у метода __str__(self): помогите, пожалуйста

Метод append() класса list работает не так как я ожидаю
params = buffer = dict() result = list() for element in params: buffer = element result.append(buffer) ...

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

11
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
11.10.2019, 10:14
Цитата Сообщение от LaLeka Посмотреть сообщение
append элементы добавляются, но размер списка при этом не меняется
Такого быть в принципе не может, если добавляются, значит размер изменяется
1
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.10.2019, 10:14
LaLeka, весь код покажи. и где ты смотришь длину списка?
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
11.10.2019, 10:14
LaLeka, пришлите весь код, посмотрим, что у вас там.
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
11.10.2019, 10:15
Да вроде работает

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
lst = [1, 2, 3, 4, 5]
poly2 = [1, 2]
length1 = len(lst)
length2 = len(poly2)
i = abs (length1 - length2)
if length1 > length2:
    i = length1 - length2
    while i != 0:
        poly2.append(0)
        i -= 1
 
print(len(poly2))
print(poly2)
1
1 / 1 / 0
Регистрация: 14.11.2015
Сообщений: 161
12.10.2019, 00:23  [ТС]
перепроверила, проблема действительно в другом, размерность массива исправно увеличивается
Но проверочная система всё так же выдаёт ошибку - list assignment index out of range. Я понимаю, что где-то вышла за пределы списка. Не могу найти, несколько раз уже всё перепроверила.. На моём компе ошибка не возникает...
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
26
27
28
29
30
31
def polySum(poly1, poly2):
    if length1 > length2:  # if the first list is less, add element to second
        i = length1 - length2
        while i != 0:
            poly2.append(0)
            i -= 1
    elif length1 < length2:
        i = length2 - length1
        while i != 0:
            poly1.append(0)
            i -= 1
    for i in range(0, longest_size, 1):
        poly3[i] = poly1[i] + poly2[i]
    flag = 1
    i = int(longest_size - 1)
    while flag == 1:     # delete last zeros
        if poly3[i] == 0.0:
            del poly3[i]
        else:
            flag = 0
        i -= 1
 
    return poly3
 
 
poly1 = [1, 2, 5]
poly2 = [2, 0, 1, -7]
length1 = len(poly1)
length2 = len(poly2)
longest_size = max(length1, length2)
poly3 = [0] * longest_size
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
12.10.2019, 02:19
Цитата Сообщение от LaLeka Посмотреть сообщение
На моём компе ошибка не возникает
Значит все нормально, если только Вы правильно поняли условие задачи. А тестирующие программы иногда принимают только один вариант решения, когда их может быть несколько. Не обращайте внимания. Если только это не задание преподавателя. Тогда уточните у него, в чем получаемый Вами результат не верен.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
12.10.2019, 07:10
Цитата Сообщение от LaLeka Посмотреть сообщение
list assignment index out of range
а не пишет в какой строке?

LaLeka, не понимаю: а) где вообще вызов функции? б) зачем длины считывать до функции, а не в ней

Добавлено через 2 минуты
Цитата Сообщение от LaLeka Посмотреть сообщение
Я понимаю, что где-то вышла за пределы списка.
например при 2 пустых списках
0
1 / 1 / 0
Регистрация: 14.11.2015
Сообщений: 161
12.10.2019, 11:16  [ТС]
нет, строку не пишет. в задании указано написать функцию, если сделать её вызов, система принимать не будет. длины списков используются ещё в нескольких других функциях
пустой список только poly3, какой второй? в каком случае я выхожу за его границы?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
12.10.2019, 11:25
LaLeka, я откуда знаю как работает тестирующая система и как она подает данные? если в твою функцию прислать аргументами два пустых списка то будет ошибка. Может просто расскажешь где ты такое тестирование проходишь и почитаешь что у них в правилах написано по оформлению кода? Например внекоторых местах должна быть только функция и нникакого лишнего кода, система сама вызывает функцию с различными параметрами.
1
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
12.10.2019, 11:31
LaLeka, можете все задание полностью описать, по обрывкам мало что понятно. ну сравнять длину списков дописав нули это просто
Python
1
2
3
4
5
6
7
8
9
10
def polySum(lst1, lst2):
    length1 = len(lst1)
    length2 = len(lst2)
    n = abs (length1 - length2)
    if length1 > length2:
        for _ in range(n):
            lst2.append(0)
    elif length1 < length2:
        for _ in range(n):
            lst1.append(0)
а вот что за третий список или списков не два а более и их все нужно привести к одной длине?
0
1 / 1 / 0
Регистрация: 14.11.2015
Сообщений: 161
12.10.2019, 13:28  [ТС]
всё, проблема решилась. написала преподу, оказалось он отредактировал пару дней назад проверяющую систему, при этом правила оформления кода не изменил
инициализировать списки (не знаю как это правильно называется в пайтоне)
Python
1
2
poly1 = [1, 2, 5]
poly2 = [2, 0, 1, -7]
, даже объявлять их было не нужно. из-за этого проверяющая система выдавала ошибку...
заданием было вывести сумму двух полиномов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.10.2019, 13:28
Помогаю со студенческими работами здесь

Зачем .append
Приведу скрин черновика,решается задачка...ну частично кое что я подсмотрел,поэтому не все понятно! x в конец списка значения i, а если...

Проблема с append
Здравствуйте, возникла проблема со следующим кодом: import itertools arr= MainArr= for i in itertools.permutations(, r=3): ...

Почему выдает ошибку в append?
n=int(input(&quot;Введите количество эллементов: &quot;)) arr= a=0 for i in range(0, n): a=int(input(&quot;Введите эллементы массива: &quot;) ...

Проблема с append и элементами массива
Добрый вечер! Пишу бота под vkApi на Python и столкнулся с странной ошибкой. Есть небольшой класс class User: def __init__(self):...

AttributeError: 'int' object has no attribute 'append'
Прошу помощи. Есть вот такой код. class resources: credits = int gold = int class player: ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru