파이썬 for문 질문

파이썬 for문 질문

QA

파이썬 for문 질문

본문

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

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

 

이 질문에 댓글 쓰기 :

답변 3

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문 이용해서 한 코드입니다. 참고하시면 도움이 되실 것 같네요.

 

안녕하세요?

 

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

 

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

 

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

 


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) 정도로 대체하실 수 있을 것 같네요 :)

 

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

 

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

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,540 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT