发现亚军得分的 Python 程序


假设我们有一份包含不同参与者得分的列表。我们必须找到亚军得分。

因此,如果输入类似于 scores = [5,8,2,6,8,5,8,7],则输出将为 7,因为获胜得分是 8,第二高得分是 7。

要解决此问题,我们将遵循以下步骤:

  • winner := -99999
  • runner_up := -99999
  • 对于 scores 中的每个 i,执行
    • 如果 i > winner,则
      • winner := i
      • runner_up := winner
    • 否则,当 i < winner 且 i > runner_up 时,则
      • runner_up := i
  • 返回 runner_up

范例

让我们看看以下实现以获得更好的理解

def solve(scores):
   winner = -99999
   runner_up = -99999
   for i in scores:
      if (i > winner):
         winner, runner_up = i, winner
      elif (i < winner and i > runner_up):
         runner_up = i
   return runner_up

scores = [5,8,2,6,8,5,8,7]
print(solve(scores))

输入

[5,8,2,6,8,5,8,7]

输出

7

更新于:2021-10-11

2 千次 + 浏览量

开启你的 职业生涯

完成课程并获得认证

立即开始
广告
© . All rights reserved.