發現亞軍得分的 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 千次 + 瀏覽量

開啟你的 職業生涯

完成課程並獲得認證

立即開始
廣告