서비스 기획자의 성장기록

[Python 실습] 윤년계산 본문

Python/Python 실습

[Python 실습] 윤년계산

Jenny Noh 2023. 10. 19. 16:28

[문제] 연도를 입력받아 윤년인지 평년인지 판단하는 프로그램 작성하세요.

- 프로그램은 반복적으로 수행되며 0을 입력 받으면 프로그램을 종료한다.
- 윤년조건: 4로 나누어 떨어지고, 100으로 나누어 떨어지지 않는 해, 또는 400으로 나누어 떨어지는 해


[실행 예]
연도를 입력하세요 (종료: 0): 2020
2020은 윤년입니다.
연도를 입력하세요 (종료: 0): 2021
2021은 평년입니다.   

 

[풀이 1]

# 풀이
year = int(input('연도를 입력하세요 (종료: 0): '))

while year != 0:
    if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
        print(f'{year}년은 윤년입니다.')
    else: 
        print(f'{year}은 평년입니다.')
    year = int(input('연도를 입력하세요 (종료: 0): '))
    if year == 0: 
        print('윤년 계산을 종료합니다.')
        break

 

[풀이 2]

# 교수님 풀이
while True:
    year = int(input('연도를 입력하세요 (종료: 0): '))
    if year == 0: break
    result = '윤년' if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0 else '평년'
    print(f'{year}년은 {result}입니다.')

윤년 검사의 if else 문을 삼항 연산자로 묶어서 더 간단하게 처리했다.

 

 

[결과]