gpt4 book ai didi

python - 使用 python3 查找数字列表中的第二大数字

转载 作者:行者123 更新时间:2023-12-01 03:21:00 25 4
gpt4 key购买 nike

我知道有answers对于这个问题,但我的代码遇到的问题是它适用于大多数情况,除非它打印出最大数字。只要列表中的前两个或更多数字是最大值。这可能听起来令人困惑,但这是我的代码和示例。

def s_max(l):
pos = 0
m1 = max(l)
m2 = 0
for i in l:
pos += 1
if i > m2 and i != m1:
m2 = i
elif m2 == 0 and i == m1 and pos > 1:
m2 = m1
elif i < m1 and i <= m2:
i = m2
else:
m2 = m2
print(m2)

s_max([10,10,9])

OUTPUT = 10

当我使用[9,10,10]等数字列表时,代码将输出9。

最佳答案

您可以尝试这样做:

def s_max(l):
while 1:
val=max(l)
l.remove(val)
if val not in l: break
return max(l)
output=s_max([10,10,9])
print(output) #prints 9

关于python - 使用 python3 查找数字列表中的第二大数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41918922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com