반응형
윤년은 다음과 같이 구합니다.
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)
반응형
'Python' 카테고리의 다른 글
(파이썬) 생일이 몇 일 남았는지 계산하기 (0) | 2023.12.13 |
---|---|
(파이썬) 3개의 값 중에서 가장 큰 값 구하기 (최대값 최소값) (0) | 2023.12.11 |
(파이썬) 클래스의 생성자 오버로딩은 지원하지 않습니다 (0) | 2023.12.07 |
(파이썬) Car 클래스 상속, Truck 정의하기 (0) | 2023.12.05 |
(파이썬) Car: 기본 클래스 만들기, 생성자 속성 메소드 (0) | 2023.12.05 |