python 如何从分数表中找到亚军的分数?

b1payxdu  于 2023-09-29  发布在  Python
关注(0)|答案(4)|浏览(100)

根据参加者在大学运动会的成绩表,你必须找出亚军的分数。你会得到n个分数。将它们存储在列表中并查找亚军的分数。
我试着在一个列表中排列n个分数,这样我就可以从列表中选择亚军的分数。我只期望亚军的分数,但得到了整个列表作为输出。

0tdrvxhp

0tdrvxhp1#

一些步骤来获得亚军的分数:
1.使用sorted()函数对分数列表进行升序排序
1.列表排序后,使用pop()函数从列表中删除最高分
1.再次使用pop()从列表中删除新的最后一个元素并存储到新变量中。新的变量作为亚军的分数呈现。
1.打印亚军成绩
示例代码:

# 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)
iyzzxitl

iyzzxitl2#

排序降序列表第一,然后选择第二个项目的列表?列表[1]
你有问题排序列表或打印列表?

list=[3,0,1,2]
list.sort(reverse=True)
print(list[1])
qc6wkl3g

qc6wkl3g3#

注:-假设相同分数的排名相同

验证码:-

#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
qf9go6mv

qf9go6mv4#

1.您可以使用两个变量topprev,当top的值更改为更高的值时,将其先前的值存储在prev中。像这样,你可以得到第二高。
1.您可以使用sorted().sort()对列表进行排序,然后使用pop()并获得listname[-1]值。

相关问题