Ответ: Среднее по последней цифре
n = int(input())
s = 0
k = 0
for _ in range(n):
x = int(input())
if x % 7 % 2 == 1:
s += x
k += 1
if k == 0:
print('NO')
else:
print(s / k)
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 7 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход в первой строке натуральное число $N$ ($3 \le N \le 10\,000$), затем $N$ натуральных чисел, не превышающих 30\,000, каждое в отдельной строке.
Программа должна вывести одно число — среднее арифметическое десятичных чисел последовательности, запись которых в $7$-ричной системе счисления оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы:
Входные данные: 6, 12, 15, 10, 71, 50, 11.
Выходные данные: 31.6.
Где здесь ошибаются
Проверяют нечётность самого числа, а не последней цифры его записи в системе счисления с основанием 7.
Используют деление / вместо остатка от деления %.
Забывают обработать случай отсутствия подходящих чисел и получают деление на ноль.
Выводят среднее арифметическое только целой частью.