1 / 1 / 0
Регистрация: 14.11.2015
Сообщений: 161

Метод .append

11.10.2019, 09:53. Показов 2222. Ответов 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
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 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
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
12.10.2019, 11:25
LaLeka, я откуда знаю как работает тестирующая система и как она подает данные? если в твою функцию прислать аргументами два пустых списка то будет ошибка. Может просто расскажешь где ты такое тестирование проходишь и почитаешь что у них в правилах написано по оформлению кода? Например внекоторых местах должна быть только функция и нникакого лишнего кода, система сама вызывает функцию с различными параметрами.
1
 Аватар для Semen-Semenich
5233 / 3478 / 1175
Регистрация: 21.03.2016
Сообщений: 8,305
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru