Python

Сумма индексов элементов списка

Помогите разобраться с задачкой! Нужно найти и вывести сумму индексов элементов списка, кратных К.
Вроде должно работать, но - нет(
Ошибку найти не могу!

numbers_list = []
numbers_quantity = int(input('Введите количество чисел: '))

for numbers in range(numbers_quantity):
numbers = int(input('Введите число: '))
numbers_list.append(numbers)
print(numbers_list)

index_summa = 0
number_K = int(input('Введите значение числа К: '))
for numbers in range(numbers_quantity):
if numbers / number_K == 0:
index_summa += numbers
print(index_summa)
else:
print('Условие задачи не выполняется')
Юрий К
Юрий К
118
Если надо найти сумму индексов, то сумму индексов и вычисляйте! А у Вас что находится - я не знаю. Вот Ваш исправленный код:
 numbers_list = [] 
numbers_quantity = int(input('Введите количество чисел: '))

for numbers in range(numbers_quantity):
numbers = int(input('Введите число: '))
numbers_list.append(numbers)
print(*numbers_list)

index_summa = 0
number_K = int(input('Введите значение числа К: '))
for numbers in range(numbers_quantity):
if numbers_list[numbers] % number_K == 0:
index_summa += numbers
print(index_summa)
Так нормально всё работает:
Зулхайыр Каженов
Зулхайыр Каженов
66 572
Лучший ответ
Юрий К Спасибо огромное! Так действительно все заработало)
"кратных К" не означает, что при делении на это К результат будет нулевой.
"Зачем математика в программировании?"
ПК
Паша Карабач
72 597
ЗАЧЕМ ты пытаешься найти сумму арифметической прогрессии циклом? В школе формулу этой суммы перестали изучать?
 n, k = int(input('длина списка: ')), int(input('K: '))
if n
Никита Сергиенко По-моему, ему нужно на кратность проверять элементы, а суммировать их индексы. К константной формуле это не сводится. Фильтр какой-нибудь примитивный:
 print(sum(filter(lambda i: lst[i] % k == 0, range(n)))) 
Сумма с фильтром:
 lst = list(map(int, map(input, ('Введите число: ',) * int(input('Введите количество чисел: ')))))
k = int(input('Введите число K: '))
print(sum(filter(lambda i: lst[i] % k == 0, range(len(lst)))))
Или можно так:
 lst = list(map(int, map(input, ('Введите число: ',) * int(input('Введите количество чисел: ')))))
k = int(input('Введите число K: '))
def compose(f, g, h): return lambda *a, **k: f(g(h(*a, **k)))
print(sum(filter(compose((0).__eq__, k.__rmod__, lst.__getitem__), range(len(lst)))))
Попробуйте такой:

 numbers_list = [] 
numbers_quantity = int(input('Введите количество чисел: '))

for numbers in range(numbers_quantity):
numbers = int(input('Введите число: '))
numbers_list.append(numbers)

print(numbers_list)

index_summa = 0
number_K = int(input('Введите значение числа К: '))
for i in range(numbers_quantity):
if i % number_K == 0:
index_summa += i

if index_summa == 0:
print('Элементов, кратных К, нет')
else:
print('Сумма индексов элементов списка, кратных К:', index_summa)
Guljigit Ramazanov
Guljigit Ramazanov
425
Юрий К Спасибо за помощь. На одну полезную мысль навели) Но ваш код считает неправильно. При заданных цифрах 2,2,2,2, он выдает отсутствие кратных элементов.