Maison >développement back-end >Tutoriel Python >Comment résoudre le casse-tête des années bissextiles en Python ?

Comment résoudre le casse-tête des années bissextiles en Python ?

DDD
DDDoriginal
2024-10-21 18:53:30696parcourir

How to Solve the Leap Year Puzzle in Python?

Déterminer les années bissextiles : une énigme Python

En vous lançant dans une mission visant à discerner le caractère insaisissable des années bissextiles, vous tombez sur une énigme Python. Sachant que les années bissextiles adhèrent à un ensemble spécifique de règles de divisibilité, vous créez méticuleusement une fonction qui tente de dévoiler cette énigme.

Cependant, lors de l'exécution de votre code, le silence retentissant de None vous accueille. Sans vous laisser décourager, vous persistez dans votre quête, en quête de l'illumination.

La définition de l'année bissextile revisitée

Telle que définie par les annales du temps, une année est considérée comme une année bissextile si elle répond à l'un des deux critères suivants :

  1. Il est divisible par 4, mais pas par 100.
  2. Il est divisible par 400.

Examiner le code

Laissons-nous examiner le code que vous avez initialement conçu :

<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>

Bien que l'intention soit claire, le problème se pose dans la gestion des conditions. Lorsqu’une année est divisible par 4 et non par 100, elle doit être immédiatement déclarée bissextile. Cependant, votre code continue de vérifier s'il est également divisible par 400, ce qui n'est pas nécessaire.

À la recherche d'une solution plus simple

Heureusement, la bibliothèque standard Python propose une bibliothèque standard plus solution élégante grâce au module calendrier. La fonction isleap dans ce module prend une année comme argument et renvoie True s'il s'agit d'une année bissextile, et False sinon.

Utilisation de Calendar.isleap

Ce qui suit un extrait de code illustre la simplicité d'utilisation de Calendar.isleap :

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

Une fois exécuté, ce code affichera correctement le résultat attendu :

False

Avec cette compréhension améliorée, vous pouvez désormais en toute confiance naviguez dans les subtilités des années bissextiles dans vos efforts pythoniques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn