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)

윤년 구하기

 

 

반응형