# Create a list of scores
scores = [100, 95, 85, 75, 65]
# Sort the list of scores in ascending order
scores = sorted(scores)
# Remove the last element (the highest score) from the list
scores.pop()
# Remove the new last element (the runner-up score) from the list
runner_up_score = scores.pop()
# Print the runner-up score
print(runner_up_score)
#Method 1
#Using remove and find max element
arr = map(int, input("Enter the scores of the students:\n").split())
arr=set(arr)
if arr:
arr.remove(max(arr))
if arr:
print(max(arr))
else:
print("There is no runner up")
#Method2
#Using sort concept with set and list
arr = map(int, input("Enter the scores of the students:\n").split())
arr=list(set(arr))
arr.sort()
if len(arr)>1:
print(arr[-2])
else:
print("There is no runner up")
输出:-
测试用例1:当两个人拥有最大得分[即有两个第一排名]
Enter the scores of the students:
89 76 43 68 67 89
76
测试用例2:所有分数均不同
Enter the scores of the students:
76 89 99 56
89
Testcase 3:分数相等。
Enter the scores of the students:
85 85 85 85
There is no runner up
Testcase 4用户只输入一个分数。
Enter the scores of the students:
56
There is no runner up
Testcase 5用户未输入任何分数。
Enter the scores of the students:
There is no runner up
4条答案
按热度按时间0tdrvxhp1#
一些步骤来获得亚军的分数:
1.使用
sorted()
函数对分数列表进行升序排序1.列表排序后,使用
pop()
函数从列表中删除最高分1.再次使用
pop()
从列表中删除新的最后一个元素并存储到新变量中。新的变量作为亚军的分数呈现。1.打印亚军成绩
示例代码:
iyzzxitl2#
排序降序列表第一,然后选择第二个项目的列表?列表[1]
你有问题排序列表或打印列表?
qc6wkl3g3#
注:-假设相同分数的排名相同
验证码:-
输出:-
测试用例1:当两个人拥有最大得分[即有两个第一排名]
测试用例2:所有分数均不同
Testcase 3:分数相等。
Testcase 4用户只输入一个分数。
Testcase 5用户未输入任何分数。
qf9go6mv4#
1.您可以使用两个变量
top
和prev
,当top
的值更改为更高的值时,将其先前的值存储在prev
中。像这样,你可以得到第二高。1.您可以使用
sorted()
或.sort()
对列表进行排序,然后使用pop()
并获得listname[-1]
值。