TQC+ 程式語言Python 702 數組合併排序
題目說明:
請撰寫一程式,輸入並建立兩組數組,各以-9999為結束點(數組中不包含-9999)。將此兩數組合併並從小到大排序之,顯示排序前的數組和排序後的串列。
輸入與輸出會交雜如下,輸出的部份以粗體字表示
Create tuple1:
9
0
-1
3
8
-9999
Create tuple2:
28
16
39
56
78
88
-9999
Combined tuple before sorting: (9, 0, -1, 3, 8, 28, 16, 39, 56, 78, 88)
Combined list after sorting: [-1, 0, 3, 8, 9, 16, 28, 39, 56, 78, 88]
9
0
-1
3
8
-9999
Create tuple2:
28
16
39
56
78
88
-9999
Combined tuple before sorting: (9, 0, -1, 3, 8, 28, 16, 39, 56, 78, 88)
Combined list after sorting: [-1, 0, 3, 8, 9, 16, 28, 39, 56, 78, 88]
程式碼:
List1 = []
print("Create tuple1:")
n = eval(input())
while n != -9999:
List1.append(n)
n = eval(input())
Tuple1 = tuple(List1)
List2 = []
print("Create tuple2:")
n = eval(input())
while n != -9999:
List2.append(n)
n = eval(input())
Tuple2 = tuple(List2)
List1.extend(List2)
Tuple = tuple(List1)
List1.sort()
print('Combined tuple before sorting:', Tuple)
print('Combined list after sorting:', List1)
2 則留言
world
Tuple1 = tuple(List1) 請問這串是要把她轉成串列麻?
JamesBang
不是,你講反了!是用 tuple() 方法將「串列 List1」轉成元組,再指派給變數 Tuple1。
它下面的「Tuple2 = tuple(List2)」也是一樣,不過照最後的結果來看,這兩行是多餘的,我當初應該是想把這兩個元組再做合併,但最後的做法卻是,直接將合併後的串列,再轉成元組後輸出。
可以把下面的「Tuple = tuple(List1)」改成「Tuple = Tuple1 + Tuple2」
輸出結果是一樣的