Загрузка данных


screen_time = [120, 95, 200, 150, 180, 240, 210]
days_of_week = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"]
norm = 150

def calculate_total(data):
    total = 0
    for value in data:
        total += value
    return total

def calculate_average(data):
    return round(calculate_total(data) / len(data), 1)

def get_above_norm(data, limit):
    above_list = []
    for value in data:
        if value > limit:
            above_list.append(value)
    return above_list

def calculate_above_norm_share(data, limit):
    above_count = len(get_above_norm(data, limit))
    share = (above_count / len(data)) * 100
    return round(share, 1)

def get_min(data):
    return min(data)

def get_max(data):
    return max(data)

def get_range(data):
    return get_max(data) - get_min(data)

def get_max_day(data, days):
    max_value = get_max(data)
    max_index = data.index(max_value)
    return days[max_index]

total_time = calculate_total(screen_time)
average_time = calculate_average(screen_time)
above_norm_days = len(get_above_norm(screen_time, norm))
above_norm_share = calculate_above_norm_share(screen_time, norm)
min_time = get_min(screen_time)
max_time = get_max(screen_time)
time_range = get_range(screen_time)
best_day = get_max_day(screen_time, days_of_week)

print(f"Общее время за неделю: {total_time} минут")
print(f"Среднее время в день: {average_time} минут")
print(f"Дней с превышением нормы: {above_norm_days}")
print(f"Доля дней с превышением: {above_norm_share}%")
print(f"Минимальное время: {min_time} минут")
print(f"Максимальное время: {max_time} минут")
print(f"Размах: {time_range} минут")
print(f"День с максимальной активностью: {best_day}")