파이썬 for문 질문

안녕하세요 파이썬 초보자 입니다.

연도를 입력 받아서 윤년이 아니면 가장 최근의 윤년을 받는 script를 for문을 이용하여 작성하려고 하는데 어떻게 해야할까요??

답변 3개

안녕하세요?

calendar 모듈을 활용하면 보다 쉽게 접근할 수 있습니다 ^^

입력받은 연도가 윤년이면 이를 그대로 출력하고,

아니면 그보다 가장 가까운 과거의 윤년을 출력하는 스크립트입니다.

Copy
from calendar import isleap

 

year = int(input('연도를 입력하세요 : '))

while True:

    if isleap(year):

        break

    year -= 1

print(f'{year}년이 윤년입니다.')

굳이 for 문으로 작성하시려면, while True를 for _ in range(9999) 정도로 대체하실 수 있을 것 같네요 :)

조금이나마 도움이 되셨기를 바랍니다~

그럼 편안한 저녁 되세요 ^-^

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

넵 감사합니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
while True:
    is_leap_year = None
    year = int(input())
    if year % 4 == 0:
        if year % 100 == 0:
            if year % 400 == 0:
                is_leap_year = True
            else:
                is_leap_year = False
        else:
            is_leap_year = True
    else:
        is_leap_year = False
    if is_leap_year:
        print(f'{year} is a leap year')
    else:
        print(f'{year} is not a leap year')
cs

for문은 아니지만 무한루프 while문 이용해서 한 코드입니다. 참고하시면 도움이 되실 것 같네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고