ホームページ  >  記事  >  バックエンド開発  >  Python でうるう年のパズルを解くには?

Python でうるう年のパズルを解くには?

DDD
DDDオリジナル
2024-10-21 18:53:30500ブラウズ

How to Solve the Leap Year Puzzle in Python?

閏年の決定: Python の難題

閏年の捉えどころのなさを見分けるという使命に乗り出したあなたは、Python の難題に遭遇しました。閏年は特定の割り算規則に従っているという知識を武器に、この謎を明らかにしようとする関数を注意深く作成します。

しかし、コードを実行すると、None という鳴り響く沈黙があなたを迎えます。

閏年の定義の再考

歴史上の定義によれば、その年は次の場合に閏年として認められます。 2 つの基準のいずれかを満たします:

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

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