dct = {'a': 1,'b': 2,'c': 3,'d': 4,'e':5}
Написать функцию-генератор

Ответы

Ответ дал: bolbochanu1980
1

Ответ:

Формируем список дней от 1 до 31 с которым будем работать

days = [d for d in range(1, 32)]

# Делим список дней на недели

weeks = [days[i:i+7] for i in range(0, len(days), 7)]

print(weeks) # [[1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13, 14], [15, 16, 17, 18, 19, 20, 21], [22, 23, 24, 25, 26, 27, 28], [29, 30, 31]]

# Выбираем в каждой неделе только первые 5 рабочих дней, отбрасывая остальные

work_weeks = [week[0:5] for week in weeks]

print(work_weeks) # [[1, 2, 3, 4, 5], [8, 9, 10, 11, 12], [15, 16, 17, 18, 19], [22, 23, 24, 25, 26], [29, 30, 31]]

# Если нужно одним списком дней - можно объединить

wdays = [item for sublist in work_weeks for item in sublist]

print(wdays) # [1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 30, 31]

Вас заинтересует