Форум сайта python.su
0
{code}
Как правильно решить сколько воскресений выпало в первый день месяца, в XX веке (1.01.1901-31.12.2000) ?
import calendar cnt = 0 for year in range (1901, 2000): for month in range (1, 13): if calendar.monthrange(year, month)[0] == 6: cnt += 1
Отредактировано FishHook (Ноя. 27, 2016 07:19:02)
Офлайн
568
serhii1986В чем проблема понять? Возьмите любой календарь (из состава стандартных программ ОС, например) и сравните руками/глазами, что выдает calendar.monthrange(year, month), и что есть на самом деле.
не могу понять
Офлайн
857
>>> import datetime >>> >>> def gen_dates(start, end): ... while start <= end: ... yield start ... start += datetime.timedelta(1) ... >>> start = datetime.datetime(1901, 1, 1) >>> end = datetime.datetime(2000, 12, 31) >>> >>> dates = gen_dates(start, end) >>> out = sum(i == 0 for i in map(datetime.datetime.weekday, dates)) >>> out 5217 >>>
Отредактировано py.user.next (Ноя. 27, 2016 08:25:00)
Офлайн
0
Спасибо
Офлайн