擅长:python、mysql、java
<p>关于你的第二段代码,你需要注意你的回报放在哪里。return语句将使用值退出函数。因此,这些检查应该在循环之前和之后进行,因为您的函数要求它遍历整个列表。在</p>
<p>我不太喜欢将初始值设置为可能是有效输出的值。因此,这是我的代码,在这里我使用<code>None</code>表示没有当前最大值的情况,但是它需要在结尾处进行额外的检查,因为应该是0。在</p>
<pre><code>def getMax4(lst):
if not lst:
return -999
highest = None
for num in lst:
if num % 4 == 0 and (highest is None or num > highest):
highest = num
return 0 if highest is None else highest
>>> getMax4([])
-999
>>> getMax4([1, 3, 9])
0
>>> getMax4([-4, 3, -12, -8, 13])
-4
>>> getMax4([1, 16, 18, 12])
16
>>> getMax4([-4, 0, -8])
0
</code></pre>
<p>在最后一个例子中,0是最大值,如果0不应该被4整除为有效的最大值,那么if语句需要一个额外的条件。在</p>