Павел Крезуб
Гуру
(3561)
4 года назад
Странно что раньше не начал жаловаться, т. к. "А" и "а" - это разные списки и список "а" нигде ранее не объявлен в приведенном коде, а жалуется бедная система на то что запрашивается не существующий индекс "i" в списке "а"
a = []
n = 10
x = 0
y = 0
for i in range(0, n):
>a.append(int(input()))
>if a[i] % 2 != 0:
>>x += 1
>>y += a[i]
s = x // y
правда не понял задачу целочисленного деления количества нечетных чисел на их сумму, результат все время будет 0
Сабина АбдихаликоваУченик (154)
4 года назад
Искала среднее арифметическое нечетных чисел, точнее пыталась. Спасибо!
Вопрос: x и y обязательно писать до a.append или это не влияет? В моем задании вся часть до a.append изменять нельзя
ОтчествоМастер (1826)
4 года назад
в python отступы имеют критическую важность, по твоему коду второй цикл находится внутри первого, хотя должен быть после него, соответственно происходит обращение в несуществующую область памяти
Aleks Nots
Просветленный
(26679)
4 года назад
У Вас у вложенного ФОР, такая же буква для индексов как и у внешнего, поэтому и фигня получается.
PS
И кроме того верхний предел вложенного цикла должен быть не до n, а меньше, наверное до i, или до i+1, или до len(a) (лень догадываться, что Вы хотели).
A = []
n = 30
for i in range(0, n):
>a.append(int(input()))
>x = 0
>y = 0
>for i in range(1, n):
>>if a[i] % 2 != 0:
>>>x += 1
>>>y += a[i]
s = x // y
print(s)
И на что жалуется Idle:
if a[i] % 2 != 0:
IndexError: list index out of range