테스트 사이트 - 개발 중인 베타 버전입니다

파이썬 for문 질문

비밀수업 4년 전 조회 10,078

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

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

 

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

답변 3개

I
4년 전

안녕하세요?

 

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

 

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

 

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

 

</p>

<p>from calendar import isleap</p>

<p> </p>

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

<p>while True:</p>

<p>    if isleap(year):</p>

<p>        break</p>

<p>    year -= 1</p>

<p>print(f'{year}년이 윤년입니다.')</p>

<p>

 

굳이 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')
http://colorscripter.com/info#e" style="text-decoration:none;color:white" target="_blank">cs

 

 

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

 

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

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

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

로그인