Сам смысл кода верный, но за счет того что индексов 100, а я к примеру беру список из 10 элементов, он улетает в ошибку.
Уточняй условие задачи, что делать, если встретились такие индексы.
Задача чтобы при любой длине списка, при вводе N программа не улетала в ошибку и не выдавала лишние строки из Вашего второго примера.
Как я это понимаю, задали любую длину из любых чисел, программа пробежала по индексом и определила какие подходят под эту длину, а какие нет, перемножила элементы из rnd_list и выдала результат.
Должно быть игнорирование разницы в длине.
Именно это я победить и не могу =(
Алан Гибизов, Согласен, так работает, и по моему списку индексов работает, за исключением отрицательных индексов.
Если Вы в Вашем коде, а именно: index_list = [1, 3, 5]
замените 1 на -1, то этот индекс будет игнорироваться.
Простите если что-то не уточнил. Вы все верно понимаете. Файл с уже готовыми индексами, т.е. не я их генерирую, а уже составленный список в котором присутствуют и отрицательные и положительные индексы.
Программа проходит только по положительным игнорирую отрицательные.
mult *= rnd_list[i]
Этот вариант упирается в ошибку list index out of range
второй вариант в ошибку не упирается, но считает не верно.
к примеру рандомно сгенерированный лист у меня получился:
[-3, -2, 4, 4, 4]
при введении N = 5,
в файле с индексами у меня есть минимальные индексы, до 5 которые:
0, 3, -4,
Получается программа должна перемножить элементы с этими индексами, но на выходе она мне выдала: -12, т.е. перемножив -3[0] на 4[3], а индекс -4 она пропустила.
UPD погонял программу увеличивая длинну списка, положительные индексы она просчитывает корректно, а вот все отрицательные пропускает.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Сам смысл кода верный, но за счет того что индексов 100, а я к примеру беру список из 10 элементов, он улетает в ошибку.
Задача чтобы при любой длине списка, при вводе N программа не улетала в ошибку и не выдавала лишние строки из Вашего второго примера.
Как я это понимаю, задали любую длину из любых чисел, программа пробежала по индексом и определила какие подходят под эту длину, а какие нет, перемножила элементы из rnd_list и выдала результат.
Должно быть игнорирование разницы в длине.
Именно это я победить и не могу =(