Python
(파이썬) 특정 년도가 윤년인지 확인하는 함수 is_leap_year
코딩ABC
2023. 12. 10. 19:12
반응형
윤년은 다음과 같이 구합니다.
1. 년도가 4의 배수이다 - 4로 나누어 떨어진다.
2. 100의 배수는 윤년이 아니다 - 4로 나누어 떨어지지만 100의 배수는 윤년이 아니다.
3. 위의 1,2를 만족하지만 다시 400의 배수는 윤년이다.
위의 3가지를 모두 만족해야 윤년에 해당합니다.
위의 코드를 파이썬 식으로 표현하면 다음과 같습니다.
if (year % 4 ==0) and (year % 100 !=0) or (year % 400 ==0): # 윤년입니다 else: # 윤년이 아닙니다. |
year % 4 ==0: 년도(year)를 4로 나눈 나머지가 0인지 확인
and: 양쪽의 2 개의 조건을 모두 만족해야 True
or: 양쪽의 2 개의 조건 중에서 한 개라도 만족되면 True
or 보다는 and가 먼저 연산됩니다.
def is_leap_year(year):
"""
윤년인지 확인하는 함수
매개 변수:
- year (int): 윤년인지 확인할 년도.
반환값:
- bool: 윤년이면 True, 윤년이 아니면 False
"""
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
return True
else:
return False
while True:
year=int(input('년도: '))
if year==0:
break;
if is_leap_year(year):
print(f"{year}년은 윤년입니다.")
else:
print(f"{year}년은 윤년이 아닙니다.")
(Output)
반응형