>백엔드 개발 >파이썬 튜토리얼 >Python 함수가 윤년을 올바르게 결정하도록 하려면 어떤 수정이 필요합니까?

Python 함수가 윤년을 올바르게 결정하도록 하려면 어떤 수정이 필요합니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-21 18:52:03849검색

What Correction is Needed to Make a Python Function Determine Leap Years Correctly?

윤년 결정

특정 연도가 윤년에 해당하는지 확인하는 프로그램을 작성하려고 합니다. 그러나 Python IDLE에서 실행하면 현재 코드가 "없음"을 반환합니다.

윤년은 다음 기준을 충족합니다.

  • 4로 나눌 수 있음
  • 아님 100으로 나눌 수 있음(예외: 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>

문제는 마지막 줄인 print(leapyr(1900))에 있습니다. 값을 반환하지 않는 함수(예: 이 경우 leapyr)를 호출하면 반환 값은 항상 None입니다. 이 문제를 해결하려면 함수 자체 내에서 결과를 직접 인쇄할 수 있습니다.

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

result = leapyr(1900)
print(result)</code>

calendar.isleap을 사용한 대체 접근 방식

Python은 내장 함수를 제공합니다. 특정 연도가 윤년인지 명시적으로 결정하는 Calendar.isleap이라는 이름:

<code class="python">import calendar

print(calendar.isleap(1900))</code>

이 함수는 작업을 단순화하고 간단한 부울 값을 반환합니다.

위 내용은 Python 함수가 윤년을 올바르게 결정하도록 하려면 어떤 수정이 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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