b021: 指考分發
"""
T大資工系一直是國內各高中對資訊領域有興趣的學生心目中
的第一志願,它的錄取標準是這樣的,首先比各科的總分,
同分的情況下再比數學的分數。現在給你一群學生的指考成績,
請你排出他們錄取的優先順序。
輸入說明:
第一行有一個正整數 N (1<=N<=100),
代表有 N 位學生的成績,接下來有 N 行的資料,
每行一開始有一個正整數,代表他的編號,接下來有5個整數,
代表國文、英文、數學、物理、化學這五科的成績,
每科成績最低0分,最高100分。
輸出說明:
請依照總分、數學的順序,排出這些學生的優先順序,並依序輸出他們的編號。
範例輸入:
5
1 91 73 87 71 67
2 50 57 65 92 90
3 92 87 76 49 48
4 61 46 51 92 55
5 99 59 52 63 95
範例輸出 :
1
5
2
3
4
"""
# Add elements to empty lists.
#elements[0].append(1)
#elements[0].append(2)
#elements[1].append(3)
#elements[1].append(4)
#elements[i].append(j)
"""
students = [
('john', 'A', 15),
('jane', 'B', 12),
('dave', 'B', 10),
]
sorted(students, key = lambda x : x[2]) # sort by age
"""
#print()
#max1=[]
#max1=[i[::-1] for i in elements[::-1]]
#print(max(max1))
#print()
#print(elements)
#for sublist in reversed(elements):
# print (list(reversed(sublist)))
from operator import itemgetter
def list2D_print(a):
for i in range(len(a)):
for j in range(len(a[i])):
print((a[i][j]),',',end=' ')
print()
# Create a list.
elements = []
# Append empty lists in first two indexes.
X=int(input("輸入一個正整數 N (1<=N<=100) -> "))
for i in range(0,X):
elements.append([i+1])
sum1=0
for i in range(0,X):
for j in range(0,5):
print("請輸入第",j+1,"科的成績",end='')
X=int(input(", 成績 : "))
elements[i].append(X)
sum1=sum1+X
print()
sum1="{:.2f}".format(sum1/5)
elements[i].append(sum1)
sum1=0
if j<=4 and i<=(X-1) :
print("換另一學生成績輸入")
print(list2D_print(elements))
max1=[]
max1=[i[::-1] for i in elements[::-1]]
y=[]
y=sorted(max1, key=itemgetter(0))
print(list2D_print(y))
====================== RESTART: F:/Python_APSC/b021.py ======================
輸入一個正整數 N (1<=N<=100) -> 5
請輸入第 1 科的成績, 成績 : 100
請輸入第 2 科的成績, 成績 : 89
請輸入第 3 科的成績, 成績 : 89
請輸入第 4 科的成績, 成績 : 78
請輸入第 5 科的成績, 成績 : 99
換另一學生成績輸入
請輸入第 1 科的成績, 成績 : 78
請輸入第 2 科的成績, 成績 : 87
請輸入第 3 科的成績, 成績 : 99
請輸入第 4 科的成績, 成績 : 87
請輸入第 5 科的成績, 成績 : 87
換另一學生成績輸入
請輸入第 1 科的成績, 成績 : 78
請輸入第 2 科的成績, 成績 : 76
請輸入第 3 科的成績, 成績 : 87
請輸入第 4 科的成績, 成績 : 78
請輸入第 5 科的成績, 成績 : 78
換另一學生成績輸入
請輸入第 1 科的成績, 成績 : 76
請輸入第 2 科的成績, 成績 : 78
請輸入第 3 科的成績, 成績 : 98
請輸入第 4 科的成績, 成績 : 89
請輸入第 5 科的成績, 成績 : 78
換另一學生成績輸入
請輸入第 1 科的成績, 成績 : 78
請輸入第 2 科的成績, 成績 : 78
請輸入第 3 科的成績, 成績 : 67
請輸入第 4 科的成績, 成績 : 98
請輸入第 5 科的成績, 成績 : 98
換另一學生成績輸入
1 , 100 , 89 , 89 , 78 , 99 , 91.00 ,
2 , 78 , 87 , 99 , 87 , 87 , 87.60 ,
3 , 78 , 76 , 87 , 78 , 78 , 79.40 ,
4 , 76 , 78 , 98 , 89 , 78 , 83.80 ,
5 , 78 , 78 , 67 , 98 , 98 , 83.80 ,
None
79.40 , 78 , 78 , 87 , 76 , 78 , 3 ,
83.80 , 98 , 98 , 67 , 78 , 78 , 5 ,
83.80 , 78 , 89 , 98 , 78 , 76 , 4 ,
87.60 , 87 , 87 , 99 , 87 , 78 , 2 ,
91.00 , 99 , 78 , 89 , 89 , 100 , 1 ,
None
>>>
2D list Sort
from operator import itemgetter
matrix = [ [4,5,6], [1,2,3], [7,0,9]]
print(matrix)
y=[]
y=sorted(matrix, key=itemgetter(1))
print(matrix)
print(y)
===== == RESTART: F:/Python_APSC/b021-1.py === === ===
[[4, 5, 6], [1, 2, 3], [7, 0, 9]]
[[4, 5, 6], [1, 2, 3], [7, 0, 9]]
[[7, 0, 9], [1, 2, 3], [4, 5, 6]]
>>>
2017年12月25日 星期一
訂閱:
張貼留言 (Atom)
Messaging API作為替代方案
LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...
-
python pip 不是内部或外部命令 -- 解決方法 要安裝 Pyqt5 1. 首先,開啟命令提示字元。 2. 輸入 pip3 install pyqt5 好像不能執行 ! ! 錯誤顯示 : ‘ pip3 ’ 不是內部或外部命令、可執行的程式或批...
-
課程講義 下載 11/20 1) PPT 下載 + 程式下載 http://www.mediafire.com/file/cru4py7e8pptfda/106%E5%8B%A4%E7%9B%8A2-1.rar 11/27 2) PPT 下載...
-
• 認 識 PreFix、InFix、PostFix PreFix(前序式):* + 1 2 + 3 4 InFix(中序式): (1+2)*(3+4) PostFix(後序式):1 2 + 3 4 + * 後 序式的運算 例如: 運算時由 後序式的...
沒有留言:
張貼留言