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

Метод .append

11.10.2019, 09:53. Показов 2201. Ответов 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,301
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
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 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
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
12.10.2019, 11:25
LaLeka, я откуда знаю как работает тестирующая система и как она подает данные? если в твою функцию прислать аргументами два пустых списка то будет ошибка. Может просто расскажешь где ты такое тестирование проходишь и почитаешь что у них в правилах написано по оформлению кода? Например внекоторых местах должна быть только функция и нникакого лишнего кода, система сама вызывает функцию с различными параметрами.
1
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru