Schaltjahre bestimmen: Ein Python-Rätsel
Auf der Mission, die Flüchtigkeit von Schaltjahren zu erkennen, stoßen Sie auf ein Python-Rätsel. Ausgestattet mit dem Wissen, dass Schaltjahre bestimmten Teilbarkeitsregeln unterliegen, erstellen Sie akribisch eine Funktion, die versucht, dieses Rätsel zu lösen.
Bei der Ausführung Ihres Codes werden Sie jedoch von der lauten Stille von None begrüßt. Unbeirrt setzen Sie Ihre Suche fort und suchen nach Erleuchtung.
Schaltjahr-Definition überarbeitet
Wie in den Annalen der Zeit definiert, gilt ein Jahr als Schaltjahr, wenn es so ist erfüllt eines von zwei Kriterien:
Untersuchen des Codes
Lassen Sie uns den Code, den Sie ursprünglich entworfen haben, unter die Lupe nehmen:
<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>
Obwohl die Absicht klar ist, entsteht das Problem bei der Handhabung von Bedingungen. Wenn ein Jahr durch 4 und nicht durch 100 teilbar ist, sollte es sofort als Schaltjahr deklariert werden. Ihr Code prüft jedoch weiterhin, ob er auch durch 400 teilbar ist, was unnötig ist.
Suche nach einer einfacheren Lösung
Glücklicherweise bietet die Python-Standardbibliothek mehr elegante Lösung durch das Kalendermodul. Die isleap-Funktion in diesem Modul verwendet ein Jahr als Argument und gibt True zurück, wenn es ein Schaltjahr ist, andernfalls False.
Verwendung von Calendar.isleap
Das Folgende Das Code-Snippet veranschaulicht die Einfachheit der Verwendung von Calendar.isleap:
<code class="python">import calendar print(calendar.isleap(1900))</code>
Bei der Ausführung gibt dieser Code das erwartete Ergebnis korrekt aus:
False
Mit diesem verbesserten Verständnis können Sie jetzt sicher sein Navigieren Sie bei Ihren Python-Bemühungen durch die Feinheiten von Schaltjahren.
Das obige ist der detaillierte Inhalt vonWie löst man das Schaltjahr-Rätsel in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!