Maison  >  Article  >  développement back-end  >  Quelle correction est nécessaire pour qu'une fonction Python détermine correctement les années bissextiles ?

Quelle correction est nécessaire pour qu'une fonction Python détermine correctement les années bissextiles ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-21 18:52:03701parcourir

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

Détermination des années bissextiles

Vous essayez d'écrire un programme pour vérifier si une année spécifique est considérée comme une année bissextile. Cependant, votre code actuel renvoie "Aucun" lorsqu'il est exécuté en Python IDLE.

Rappelez qu'une année bissextile répond aux critères suivants :

  • Divisible par 4
  • Non divisible par 100 (exception : divisible par 400)

Examen de votre code :

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

Le problème réside dans la dernière ligne : print(leapyr(1900)). Lorsque vous appelez une fonction ne renvoyant aucune valeur (comme leapyr dans ce cas), la valeur de retour est toujours None. Pour résoudre ce problème, vous pouvez imprimer directement le résultat dans la fonction elle-même :

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

Une approche alternative utilisant Calendar.isleap

Python fournit une fonction intégrée nommé calendrier.isleap qui détermine explicitement si une année donnée est une année bissextile :

<code class="python">import calendar

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

Cette fonction simplifie la tâche et renvoie une valeur booléenne simple.

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