파이썬 윤년 (Python leap year)

2021. 12. 24. 08:42Programming/Python

    목차
반응형

윤년이란?

  윤년(, leap year)은 태음력이나 태양력에서의 흐림에 의해 생길 수 있는 오차를 보정하기 위해 추가하는 날이나 주, 달이 들어가는 해 입니다. 

  한국에서의 윤년은 그레고리력에서 하루를 2월 29일에 추가하여 1년간의 날짜 수가 366일이 되는 해를 의미합니다.

 

윤의 의미

윤년의 "윤"의 의미는 "잉여"를 의미하기에 365일에 추가적 즉, 잉여로 추가된 날이 포함된 년을 의미합니다. 

 

한국은 예로부터 음력을 주로 사용해 왔으나, 1896년부터 태양력인 양력을 사용하게 되었습니다. 양력은 그레고리력이라고 합니다. 이 그레고리력은 0.2422일이 적은 1년을 채우고자 이러한 치윤법을 시행했다고 합니다. 

 

윤년 계산

100으로 나눠 떨어지지 않는 4년에 한 해는 윤년이 됩니다. 혹은 400으로 나눠 떨어지는 해도 윤년이 됩니다.  이 윤년의 2월의 마지막 날은 하루가 더 추가되어 29일까지 존재하게 됩니다. 

 

구현 코드

파이썬에서 윤년은 다음과 같은 코드를 통해 구현 될 수 있습니다. 

leap_year =     [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
non_leap_year = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

month_tbl = non_leap_year
if 0 == year%400 or (year%4 == 0 and year%100 != 0):
    month_tbl = leap_year
...

 

반응형

'Programming > Python' 카테고리의 다른 글

loguru.logger  (0) 2022.04.25
Click: the Python CLI library  (0) 2022.04.25
Python: 원소의 중복 제거  (0) 2021.12.15
Python instance check  (0) 2021.12.13
[Python] Lambda expression (람다 표현식)  (0) 2021.12.13