Форум сайта python.su
fata1ex
Деление проходят в третьем классе. Если вы не понимаете, что такое остаток от деления, советую взять учебник за третий класс. Например, Петерсона.
Офлайн
>>> year = 2012 >>> isleap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0 >>> isleap True >>>
Отредактировано py.user.next (Июль 19, 2012 05:26:40)
Офлайн
py.user.next, согласен. Просто это настолько часто встречается, что уже привыкаешь.
Офлайн
на длинных сложных выражениях становится заметно
оно не запоминается, из-за того, что непрямое (нужно запоминать отрицания)
что-то равно чему-то запомнить проще, чем что-то не равно чему-то
Отредактировано py.user.next (Июль 19, 2012 10:33:47)
Офлайн
а так?
from datetime import datetime as d def is_leap(year): try: d.datetime(year,2,29) return True except ValueError: return False
Отредактировано cpu (Июль 19, 2012 12:12:27)
Офлайн
Да можно еще проще
import calendar is_leap=lambda year: calendar.monthrange(year, 2)[1]>28 for i in range(1990, 2010): print i,is_leap(i)
Офлайн
А если надо 3000 или 666 проверить то что делать ?
Офлайн
SingularityНе вижу сложности
А если надо 3000 или 666 проверить то что делать ?
# -*- coding:utf-8 -*- import calendar is_leap=lambda year: calendar.monthrange(year, 2)[1]>28 for i in range(601, 610): print i,is_leap(i) for i in range(3001, 3010): print i,is_leap(i)
Офлайн
А если надо 4000 проверить?
Офлайн
Тролли - казлы!
Офлайн