首页 > 解决方案 > 列表中最大的偶数

问题描述

我想在列表中找到最高的偶数。我使用的代码能够成功地做到这一点,但我不知道为什么我的代码运行正常。

请在下面找到我的代码:

def highest_even(*list):
  for numbers in list:
    if numbers % 2 == 0:
      c= numbers
  print(c)

highest_even(1,2,3,4,5,6,7,8,9,10,11,12,111,222,444,555)

即使我只验证了偶数,我得到的输出只是最高的偶数。为什么会这样?请帮忙

标签: python

解决方案


您的列表是有序的,您将 c 的值替换为您评估为偶数的最后一个值。所以最后你得到最高的数字,尝试使用随机排列你的列表shuffle(),你不会得到正确的结果。

以下是修复功能的方法:

def highest_even(*list):
  c = 0
  for numbers in list:
    if numbers % 2 == 0:
      if numbers > c:
          c= numbers
  print(c)

highest_even(1,2,3,4,5,6,7,8,9,10,11,12,111,222,444,555)

推荐阅读