發現亞軍得分的 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
- 如果 i > winner,則
- 返回 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
廣告