>백엔드 개발 >파이썬 튜토리얼 >Python에서 윤년 퍼즐을 해결하는 방법은 무엇입니까?

Python에서 윤년 퍼즐을 해결하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-21 18:53:30695검색

How to Solve the Leap Year Puzzle in Python?

윤년 결정: Python 수수께끼

윤년의 파악하기 어려운 것을 식별하는 임무를 시작하면서 Python 수수께끼를 발견합니다. 윤년이 특정 분할 규칙 세트를 준수한다는 지식으로 무장하여 이 수수께끼를 밝히려는 함수를 꼼꼼하게 제작했습니다.

그러나 코드를 실행하면 None의 울려퍼지는 침묵이 여러분을 반깁니다. 당신은 굴하지 않고 깨달음을 추구하며 탐구를 계속합니다.

윤년의 정의 재검토

연대기에 따라 정의된 대로 1년은 다음과 같은 경우 윤년으로 간주됩니다. 다음 두 기준 중 하나를 충족합니다.

  1. 4로 나누어 떨어지지만 100으로 나누어지지 않습니다.
  2. 400으로 나누어집니다.

코드 검토

처음에 고안한 코드를 자세히 살펴보겠습니다.

<code class="python">def leapyr(n):
    if n%4==0 and n%100!=0:
        if n%400==0:
            print(n, "is a leap year.")
    elif n%4!=0:
        print(n, "is not a leap year.")

print(leapyr(1900))</code>

의도는 분명하지만 조건 처리에서 문제가 발생합니다. 연도가 100으로 나누어지지 않고 4로 나누어지면 즉시 윤년으로 선언해야 합니다. 그러나 코드는 400으로도 나눌 수 있는지 계속 확인하므로 이는 불필요합니다.

더 간단한 솔루션 찾기

다행히도 Python 표준 라이브러리는 더 많은 기능을 제공합니다. 달력 모듈을 통한 우아한 솔루션. 이 모듈 내의 isleap 함수는 연도를 인수로 사용하고 윤년이면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

calendar.isleap 활용

다음 코드 조각은 Calendar.isleap 사용의 단순성을 보여줍니다.

<code class="python">import calendar
print(calendar.isleap(1900))</code>

이 코드가 실행되면 예상 결과가 올바르게 출력됩니다.

False

이러한 향상된 이해를 통해 이제 자신있게 다음을 수행할 수 있습니다. Python을 사용하여 윤년의 복잡한 과정을 헤쳐나가세요.

위 내용은 Python에서 윤년 퍼즐을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.