31 成績排序 清華複試

2021-10-04 19:57:42 字數 928 閱讀 7384

用一維陣列儲存學號和成績,然後,按成績排序輸出。

輸入第一行包括乙個整數n(1<=n<=100),代表學生的個數。

接下來的n行每行包括兩個整數p和q,分別代表每個學生的學號和成績。

按照學生的成績從小到大進行排序,並將排序後的學生資訊列印出來。

如果學生的成績相同,則按照學號的大小進行從小到大排序。輸入3

1 90

2 87

3 92

輸出2 87

1 90

3 92

n=

int(

input()

)data=

for i in

range

(n):

input()

.split())

data=

sorted

(data,key=

lambda x:

int(x[0]

))output=

sorted

(data,key=

lambda x:

int(x[1]

))###先按學號排序,再按成績排一遍

#sort 與 sorted 區別:

#sort 是應用在 list 上的方法,屬於列表的成員方法,sorted 可以對所有可迭代的物件進行排序操作。

#list 的 sort 方法返回的是對已經存在的列表進行操作,而內建函式 sorted 方法返回的是乙個新的 list,而不是在原來的基礎上進行的操作。

#sort使用方法為ls.sort(),而sorted使用方法為sorted(ls)

for i in

range

(n):

print

(output[i][0

],output[i][1

])

68 成績排序

題目描述 查詢和排序 題目 輸入任意 使用者,成績 序列,可以獲得成績從高到低或從低到高的排列,相同成績 都按先錄入排列在前的規則處理。例示 jack 70 peter 96 tom 70 smith 67 從高到低 成績 peter 96 jack 70 tom 70 smith 67 從低到高 ...

1178 成績排序

問題描述 給出班裡某門課程的成績單,請你按成績從高到低對成績單排序輸出,如果有相同分數則名字字典序小的在前。輸入 第一行為n 0 n 20 表示班裡的學生數目 接下來的n行,每行為每個學生的名字和他的成績,中間用單個空格隔開。名字只包含字母且長度不超過20,成績為乙個不大於100的非負整數。輸出 把...

1178 成績排序

問題描述 給出班裡某門課程的成績單,請你按成績從高到低對成績單排序輸出,如果有相同分數則名字字典序小的在前。輸入 第一行為n 0 n 20 表示班裡的學生數目 接下來的n行,每行為每個學生的名字和他的成績,中間用單個空格隔開。名字只包含字母且長度不超過20,成績為乙個不大於100的非負整數。輸出 把...