+8 投票
分类:问答挑战 | 用户: 10 5 4 (4.7k 分)

【问题描述】

输出列表中第二大的数字。
【输入形式】

一个仅含有数字(整型或浮点型)的列表
【输出形式】

列表中第二大的数字
【样例输入】

[1,2.2,13]

【样例输出】

2.2
【样例说明】

输入为一个列表,请用英文输入法输入列表的方括号和逗号。

特别注意:

1.当列表元素个数小于2时,由于没有第二大的数字,故输出应为None。

2.当列表中所有元素都相同时,也没有第二大的数字,故输出也为None。

2 个回答

+2 投票
用户: 10 10 7 (8.0k 分)
采纳于 用户:
 
已采纳

交互型:

list1 = [eval(i) for i in input().split()]
# print(list1)
if len(list1) < 2:
    print('None')
elif len(set(list1)) == 1:
    print('None')
else:
    list2 = sorted(list(set(list1)))
    print(list2[-2])

特殊样例:

2.2 2.2 2.2 2.2 2.2

None

2 2 2 5 5

2

+1 投票
用户: 10 7 4 (2.9k 分)

这是对的吗?

用户: 10 10 7 (8.0k 分)
你尝试一下22255
用户: 10 7 4 (2.9k 分)
ok,谢谢
欢迎来到 在线问答系统 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...