閏年の決定: Python の難題
閏年の捉えどころのなさを見分けるという使命に乗り出したあなたは、Python の難題に遭遇しました。閏年は特定の割り算規則に従っているという知識を武器に、この謎を明らかにしようとする関数を注意深く作成します。
しかし、コードを実行すると、None という鳴り響く沈黙があなたを迎えます。
閏年の定義の再考
歴史上の定義によれば、その年は次の場合に閏年として認められます。 2 つの基準のいずれかを満たします:
コードの検査
最初に考案したコードを詳しく調べてみましょう:
<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 サイトの他の関連記事を参照してください。