Этот фрагмент кода пытается понять, является ли указанный вами год високосным годом или нет.Год является високосным, если:
- делится на 4, следовательно,
year%4==0
, а не на 100, следовательно, year%4==0 and year%100==0 and year%100==0
ИЛИ если:
- делится на 4 и на 100 и на 400, следовательно,
year%400==0
Целое выражение будет более читабельным, если вы добавите пару скобок:
if( (year%4==0 and not year%100==0) or (year%4==0 and year%100==0 and year%400==0) )
note : все выражение может быть упрощено.Поскольку число, делимое на 400, также делится на 4 и 100, вы можете написать:
if( (year%4==0 and not year%100==0) or year%400==0 )