Составить программу подсчитывающую сколько дней в январе было с температурой выше, ниже и равной средней температуре месяца

Поляков Евгений Александрович

Учитель информатики высшей категории

Проверено учителем

Ниже представлен пример программы на языке Python, которая решает данную задачу. Для корректного расчета мы сначала вычисляем среднее арифметическое всех температур, а затем сравниваем каждое значение с этим средним. Программа на Python python

# Список температур в январе (31 день)# Данные взяты для примера, их можно заменить на реальные показателиtemperatures = [ -10, -12, -8, -5, -3, 0, -2, -4, -7, -11, -15, -18, -20, -14, -10, -8, -5, -2, -1, -3, -6, -9, -12, -15, -13, -10, -7, -4, -2, 0, -1 ] defanalyze_january_weather(temp_list): # 1. Вычисляем среднюю температуруavg_temp = sum(temp_list) / len(temp_list) # 2. Инициализируем счетчикиabove_avg = 0below_avg = 0equal_avg = 0# 3. Сравниваем температуру каждого дня со среднейfortin temp_list: if t > avg_temp: above_avg += 1elif t < avg_temp: below_avg += 1else: equal_avg += 1return avg_temp, above_avg, below_avg, equal_avg # Выполнение расчетовaverage, above, below, equal = analyze_january_weather(temperatures) # Вывод результатов print(f"Средняя температура за январь: {average:.2f}°C") print("-" * 35) print(f"Дней выше средней: {above}") print(f"Дней ниже средней: {below}") print(f"Дней равных средней: {equal}") 
Use code with caution.Описание логики работы Программа построена по классическому алгоритму обработки массивов данных:

  • Сбор данных: Температуры за 31 день хранятся в списке temperatures.
  • Расчет среднего значения: Используется формула среднего арифметического:
    Tavg=i=1ntincap T sub a v g end-sub equals the fraction with numerator sum from i equals 1 to n of t sub i and denominator n end-fraction где n=31n equals 31. В коде это реализовано через sum(temp_list) / len(temp_list). Цикл сравнения: Программа проходит по каждому элементу списка. С помощью условного оператора if-elif-else инкрементируется соответствующая переменная-счетчик. Форматирование: Результат выводится с округлением средней температуры до двух знаков после запятой для наглядности.

Возможные модификации Если вы планируете использовать дробные значения температур (например, -10.5°C), программа продолжит работать корректно. Стоит учитывать, что количество дней, "равных средней", часто будет равно нулю, так как среднее значение обычно получается дробным и редко совпадает с целочисленными замерами. Хотите, чтобы я дополнил код функцией автоматической генерации случайных температур или добавил возможность ввода данных пользователем с клавиатуры?

Форма ответа

Ваш аватар