Середнє арифметичне додатних
https://www.e-olymp.com/uk/problems/910
Задано послідовність дійсних чисел. Визначити середнє арифметичне додатних чисел.
Вхідні дані
У першому рядку задано кількість дійсних чисел n (0 < n ≤ 100). У наступному рядку задано n чисел, значення яких не перевищують за модулем 100.
Вихідні дані
Вивести середнє арифметичне додатних чисел з 2 десятковими знаками. У випадку відсутності додатних чисел вивести повідомлення "Not Found" (без лапок).
Вхідні дані #1
3
5.2 -2 4
Вихідні дані #1
4.60
Використання list comprehension для розв’язання даної задачі допоможе нам ввести дані з одночасним їх фільтруванням. Розбираючи рядок введення, ми можемо вибрати лише додатні елементи. Наприклад, при введенні даних таким чином:
lst = [float(x) for x in input().split()]
ми в списку lst отримаємо всі вхідні дані. А використання умови в list comprehension дозволить нам додати в список лише додатні елементи вхідних даних:
lst = [float(x) for x in input().split() if float(x)>0]
А отримав список додатних чисел ми можемо проаналізувати довжину цього списку за допомогою функції len(). Якщо довжина нульова, це означає що у вхідних даних немає жодного додатного числа. Якщо так сталося, виводимо відповідне повідомлення, інакше виводимо середнє арифметичне. Формати виведення реальних чисел можна знайти у нашому довіднику «input_print», а для обрахування середнього арифметичного, хто забув, треба суму елементів поділити на їх кількість, в python це просто sum(lst)/len(lst).
ps. Якщо ваші батьки збираються на батьківські збори і у вас є список всіх ваших оцінок, то що буде з даним списком після такого:
otsynky = [x for x in otsynky if 10 <= x <= 12]
Ну і додаткове питання – що буде, коли вас піймають? :)