Условия задачи:

 

Среднее количество шагов. Браслет для занятий спортом - это носимое устройство, которое отслеживает вашу физическую активность, количество сожженных калорий, сердечный ритм, модели сна и т. д. Одним из самых распространенных видов физиче­ский активности, который отслеживает большинство таких устройств, является коли­чество шагов, которые вы делаете каждый день. Среди исходного кода главы 6 вы найдете файл steps.txt. Этот файл содержит количество шагов, которые человек делал каждый день в течение года. В файле 365 строк, и каждая строка содержит количество шагов, сделанных в течение дня. (Первая строка -это чис­ло шагов, сделанных 1 января, вторая строка- число шагов, сделанных 2 января, и т. д.) 
Напишите программу, которая читает файл и затем выводит среднее количество шагов, сделанных в течение каждого месяца. (Данные были записаны в год, который не был високосным, и поэтому февраль имеет 28 дней.)

 

Решение задачи:

def main():
    MONTH = 12
# 30 дней  в апрель, июнь, сентябрь и ноябрь это 4, 6 , 9, 11 месяцы
# в феврале 28 дней это 2 месяц
# в остальных месяцах 31 день
#Решение запускаем внешний цикл, который состоит из 12 итераций - по числу месяцев, 
# после сразу определяем переменную накопитль которая будет обнуляться после каждого
# внутренного цикла далее управляющие структуры проверяют какой это месяц, если второй
# то  внутренний цикл из 28 итераций, если один из где 30 дней то цикл из 30 итерации
# остальные из 31 итерации. 
    
    with open('steps.txt', 'r') as in_file:
        for i in range(1, MONTH+1):
            totall = 0
            if  i == 2:
                for c in range(1, 29):
                    value = in_file.readline()
                    totall += int(value)
                print(f' Среднее количество шагов в {i} месяце {totall/28:.2f}')
            elif  i == 4 or i == 6 or i == 9 or i == 11:
                for c in range(1, 31):
                    value = in_file.readline()
                    totall += int(value)
                print(f' Среднее количество шагов в {i} месяце {totall/30:.2f}')
            else:
                for c in range(1, 32):
                    value = in_file.readline()
                    totall += int(value)
                print(f' Среднее количество шагов в {i} месяце {totall/31:.2f}')
main()