Найти - Пользователи
Полная версия: ПОМОГИТЕ С ЗАДАЧЕЙ ОПРЕДЕЛИТЬ ВИСОКОСНЫЙ ГОД ИЛИ НЕТ !!!!
Начало » Python для новичков » ПОМОГИТЕ С ЗАДАЧЕЙ ОПРЕДЕЛИТЬ ВИСОКОСНЫЙ ГОД ИЛИ НЕТ !!!!
1 2 3
artem-droshnev
fata1ex
Деление проходят в третьем классе. Если вы не понимаете, что такое остаток от деления, советую взять учебник за третий класс. Например, Петерсона.


ок спасибо я все понял, только вот одно но почему если поставить not как в моем примере(там где делим на 100) тогда функция не работает почему так?



>>> year = int(input(“Ведите год”))

>>> if (year % 4 and not year % 100) or year % 400:
print('Високосный')
else:
print('Невисокосный')
py.user.next
>>> year = 2012
>>> isleap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
>>> isleap
True
>>>

оператор and имеет более высокий приоритет, чем оператор or
запись year % 4 == 0 яснее, чем запись not year % 4
fata1ex
py.user.next, согласен. Просто это настолько часто встречается, что уже привыкаешь.
py.user.next
на длинных сложных выражениях становится заметно
оно не запоминается, из-за того, что непрямое (нужно запоминать отрицания)
что-то равно чему-то запомнить проще, чем что-то не равно чему-то
cpu
а так?
from datetime import datetime as d
def is_leap(year):
    try:
        d.datetime(year,2,29)
        return True
    except ValueError:
        return False
FishHook
Да можно еще проще
import calendar
is_leap=lambda year: calendar.monthrange(year, 2)[1]>28
for i in range(1990, 2010):
  print i,is_leap(i)
Singularity

А если надо 3000 или 666 проверить то что делать ?

FishHook
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)
601 False
602 False
603 False
604 True
605 False
606 False
607 False
608 True
609 False
3001 False
3002 False
3003 False
3004 True
3005 False
3006 False
3007 False
fata1ex
А если надо 4000 проверить?
FishHook
Тролли - казлы!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB