輸入一個整數清單,清單元素為20個,元素之間逗号隔開,編寫程式,将前10個元素升序排列,後10個元素降序排列,并輸出清單。
随機生成清單:
import random
s = []
for i in range(20):
s.append(random.randint(0,100))
a = s[0:10]
a.sort()
b = s[10:20]
b.sort()
b.reverse()
print(s)
print(a)
print(b)
s = a + b
print(s)
知識點:
1、利用random庫随機生成一個清單
2、利用sort()函數對清單進行排序
3、利用reverse()函數将鄭徐清單反序
輸入清單:
n = input("請以清單格式輸入一個清單:\n")
s = list(n[1:-1].split(",")) #将輸入的字元串轉化為字元串清單
s = list(map(int,s)) #将字元串清單轉換為數字清單
a = s[0:10]
a.sort()
b = s[10:20]
b.sort()
b.reverse()
print(s)
print(a)
print(b)
s = a + b
print(s)
知識點:
1、排序部分同上
2、利用map()函數将字元串清單轉化為數字解表
注:以上代碼在十個以下元素隻有升序效果,超過十個元素,才會有降序效果
以下是折半升序降序的方法
n = input("請以清單格式輸入元素的清單:\n")
s = list(n[1:-1].split(",")) #将輸入的字元串轉化為字元串清單
s = list(map(int,s)) #将字元串清單轉換為數字清單
l = len(s) #擷取清單的長度
frontHalfList = s[0:int(l/2)] #擷取前一半清單的值
frontHalfList.sort() #對前一半進行升序排列
backHalfList = s[int(l/2):]
backHalfList.sort()
backHalfList.reverse()
print(frontHalfList)
print(backHalfList)
s = frontHalfList + backHalfList
print(s)