Задание №16
ID: 420
Программирование: обработка последовательности чисел
Последовательность заканчивается числом 0
Напишите программу, которая в последовательности натуральных чисел определяет среднее арифметическое чисел, которые делятся на 6 и оканчиваются на 8. Ответ нужно вывести с точностью до десятых.
Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность заканчивается числом 0. Число 0 является признаком окончания ввода и в последовательность не входит. В последовательности всегда имеется хотя бы одно подходящее число.
Программа должна вывести одно число: среднее арифметическое подходящих чисел.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 18 48 68 108 25 0 | 78.0 |
Задание выполняется на компьютере. После выполнения можно посмотреть решение.
Решение
Идея решения:
- Считываем первое число последовательности.
- Создаём список
b, куда будем добавлять только числа, которые делятся на 6 и оканчиваются на 8. - Пока не встретился ноль, проверяем каждое введённое число.
- Если число подходит под условие, добавляем его в список с помощью
append. - После окончания ввода находим среднее арифметическое через
sum(b) / len(b)и выводим результат с точностью до десятых.
Решение на Python:
a = int(input()) # считываем первое число
b = [] # создаём список для подходящих чисел
while a != 0: # обрабатываем числа до нуля
if a % 6 == 0 and a % 10 == 8: # проверяем кратность 6 и последнюю цифру 8
b.append(a) # добавляем подходящее число в список
a = int(input()) # считываем следующее число
print(round(sum(b) / len(b), 1)) # выводим среднее арифметическое с точностью до десятых