【題解】【中國大學MOOC】(東北大學)大學計算機--Python算法實踐考試——期末考試

1.初始化如下列表,alist = [12, 34, 51, 66, 31, 7, 87, 58, 92]。從鍵盤輸入一個整數。如果該數是奇數,計算alist中所有奇數的和,並將該和值加到列表的末尾;如果爲偶數,則計算alist中所有偶數的和並加到列表末尾。而後依次輸出最終的alist中的每一個數,要求以一個英文逗號作爲分隔符,結束時自然換行。

題目內容:

初始化如下列表
alist = [12, 34, 51, 66, 31, 7, 87, 58, 92]
從鍵盤輸入一個整數。如果該數是奇數,計算alist中所有奇數的和,並將該和值加到列表的末尾;如果爲偶數,則計算alist中所有偶數的和並加到列表末尾。
而後依次輸出最終的alist中的每一個數,要求以一個英文逗號作爲分隔符,結束時自然換行。

輸入格式:

一個整數

輸出格式:

一行整數,逗號分隔

輸入樣例:

20

輸出樣例:

12,34,51,66,31,7,87,58,92,262

時間限制:500ms 內存限制:32000kb

參考代碼:

alist = [12, 34, 51, 66, 31, 7, 87, 58, 92]
suma = 0
sumb = 0
for i in alist:
    if i %2 == 0:
        suma += i
    else:
        sumb += i
n = int(input())
if n % 2 == 0:
    alist.append(suma)
else:
    alist.append(sumb)   
for i in range(0, len(alist)):
    if i != 0:
        print(",", end="")
    print(alist[i], end="")

2.初始化如下列表alist = [20170123, 61, 20170233, 97, 20170123, 72, 20170233, 65, 20170110, 72, 20170110],該列表中下標爲偶數的元素表示某個學生的學號,其後緊跟着的下標爲奇數的元素表示該學生某門課程的成績。其中,學號20170110的同學缺少一門課程的成績。請從鍵盤輸入一個0至100之間的整數作爲成績追加到列表的末尾。編程對該列表進行重新排序。(不限制使用函數或列表方法)

題目內容:

初始化如下列表
alist = [20170123, 61, 20170233, 97, 20170123, 72, 20170233, 65, 20170110, 72, 20170110]
該列表中下標爲偶數的元素表示某個學生的學號,其後緊跟着的下標爲奇數的元素表示該學生某門課程的成績。其中,學號20170110的同學缺少一門課程的成績。請從鍵盤輸入一個0至100之間的整數作爲成績追加到列表的末尾。
編程對該列表進行重新排序。(不限制使用函數或列表方法)
要求:
1、保持一個學號緊跟着一個成績的數據格式不變
2、以學號按升序排列,當學號相同時,以成績按降序排列的方式排序
最後依次輸出列表中的元素,每行一個。

輸入格式:

1個0-100之間的整數

輸出格式:

列表直接輸出,不要單獨輸出其中的元素

輸入樣例:

100

輸出樣例:

20170110
100
20170110
72
2017012
72
20170123
61
20170233
97
20170233
65

時間限制:2000ms 內存限制:32000kb

參考代碼:

alist = [20170123, 61, 20170233, 97, 20170123, 72, 20170233, 65, 20170110, 72, 20170110]
n = int(input())
alist.append(n)
lst1 = alist[::2]
lst2 = alist[1::2]
lst = []
for i in range(len(alist)//2):
    temp = []
    temp.append(lst1[i])
    temp.append(lst2[i])
    lst.append(temp)
lst.sort(key=lambda s:(s[0],-s[1]))
for i in lst:
    print(i[0])
    print(i[1])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章