배운 코딩 기록

[파이썬] 비교연산자/윤년 판단하기

릴리Yu 2022. 11. 13. 13:57

 

4년에 한번씩 돌아오고 2월이 29일까지 있는 해가 윤년이며

윤년이 될 수 있는 조건은 3가지가 있는데 

윤년은 4번에 한번 돌아온다. 즉 4로 나누어 떨어져야 한다.(4의 배수여야한다.)

두번 째는 4의 배수여야하면서 동시에 100으로 나누어 떨어지면 안된다.  

즉, 100으로 나눴을 때 몫이 0이면 안된다.

세번 째는 앞의 조건과 상관없이 400으로 나누어 떨어지면(400의배수면) 윤년이다.  

 

(예를 들면 800이라는 연도가 있을 때, 4의 배수가 맞으므로 첫번째 조건을 만족한다.

그런데 100의 배수이기도 하므로 두번째 조건을 만족하지 못한다.

그렇지만 400의 배수이므로 세번째 조건을 만족하여 두번째 조건과 상관없이 윤년이 된다.)

 

첫번째 두번째 조건은 둘 다 성립해야하므로 and 연산자를 써주고

세번 째 조건 앞에는 or을 써준다. 

 

year=eval(input("연도를 입력하세요:"))

if year % 4 == 0 and year % 100 != 0 \
or year % 400 == 0 :
print(str(year) + "년은 윤년입니다.")
else :
print(str(year) + "년은 윤년이 아닙니다.")