ホームページ  >  記事  >  バックエンド開発  >  Python 関数でうるう年を正しく決定するにはどのような修正が必要ですか?

Python 関数でうるう年を正しく決定するにはどのような修正が必要ですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-21 18:52:03701ブラウズ

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

閏年の決定

特定の年が閏年に該当するかどうかを確認するプログラムを作成しようとしています。ただし、Python IDLE で実行すると、現在のコードは "None" を返します。

閏年は次の基準を満たしていることを思い出してください:

  • 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。