擅长:python、mysql、java
<p>代码的问题是,您正在检查y和z是否可以被2整除</p>
<p>使用代码作为基础的解决方案可能如下所示</p>
<pre><code>def is_leap(year):
nonleap = False
leap = True
x = year % 4
y = year % 100
z = year % 400
if x == 0:
if (y == 0) and not (z == 0):
return nonleap
else:
return leap
else:
return nonleap
</code></pre>
<p>但这里有一个更优雅的pythonic解决方案
<a href="https://www.hackerrank.com/challenges/write-a-function/forum" rel="nofollow noreferrer">https://www.hackerrank.com/challenges/write-a-function/forum</a></p>
<pre><code>def is_leap(year):
return year % 4 == 0 and (year % 400 == 0 or year % 100 != 0)
</code></pre>