Python 程序:查找倒数第二大的分数
假设我们有一个不同参与者的分数列表。我们需要找到倒数第二大的分数。
因此,如果输入是如下所示的scores = [5,8,2,6,8,5,8,7],那么输出将是7,因为获胜分数为8,第二大的分数为7。
要解决这个问题,我们将遵循以下步骤 –
- 获胜者:= -99999
- 倒数第二名:= -99999
- 对于每个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