第七題
請撰寫一程式,輸入並建立兩組數組,各以-9999為結束點(數組中不包含-9999)。將此兩數組合併並從小到大排序之,顯示排序前的數組和排序後的串列。
程式如下 ,這題寫了二種方式
listA=list() listB=list() print("建立第一個列表") while True: #-9999 結束 val=int(input("請輸入一個數字 (-9999結束輸入) :")) if val==-9999: break else: listA.append(val) print("建立第二個列表") while True: #-9999 結束 val=int(input("請輸入一個數字 (-9999結束輸入) :")) if val==-9999: break else: listB.append(val) listC=listA + listB print("原始數列 : " , listC) x=sorted(listC) print("從小到大排序 :" ,x)
仔細看,有些程式碼重複了,可以把重複的程式獨立出來,寫成副程式 Function ,如下
listA=list() listB=list() def list_Append(listX): while True: #-9999 結束 val=int(input("請輸入一個數字 (-9999結束輸入) :")) if val==-9999: break else: listX.append(val) return listX print("建立第一個列表") listA=list_Append(listA) print("建立第二個列表") listB=list_Append(listB) listC=listA + listB print("原始數列 : " , listC) x=sorted(listC) print("從小到大排序 :" ,x)
輸出如下
建立第一個列表 請輸入一個數字 (-9999結束輸入) :9 請輸入一個數字 (-9999結束輸入) :0 請輸入一個數字 (-9999結束輸入) :-1 請輸入一個數字 (-9999結束輸入) :3 請輸入一個數字 (-9999結束輸入) :8 請輸入一個數字 (-9999結束輸入) :-9999 建立第二個列表 請輸入一個數字 (-9999結束輸入) :28 請輸入一個數字 (-9999結束輸入) :16 請輸入一個數字 (-9999結束輸入) :39 請輸入一個數字 (-9999結束輸入) :56 請輸入一個數字 (-9999結束輸入) :78 請輸入一個數字 (-9999結束輸入) :88 請輸入一個數字 (-9999結束輸入) :-9999 原始數列 : [9, 0, -1, 3, 8, 28, 16, 39, 56, 78, 88] 從小到大排序 : [-1, 0, 3, 8, 9, 16, 28, 39, 56, 78, 88]
第八題
請撰寫一程式,要求使用者輸入一字串,顯示該字串每個字元的對應ASCII碼及其總和。
主要是字串字元的處理,放進陣列中去加總即可
ord(字元) : 轉換ASCII
程式如下
輸出結果
第九題
請撰寫一程式,讀取read.txt的內容(內容為數字,以空白分隔)並將這些數字加總,接著再顯示檔案內容和加總的結果。檔案讀取完成後要關閉。
用 with open() as file 來開啟檔案
read.txt 內容存放如下,故意放進二行數據
程式如下
輸出結果
程式如下
str_val="" ascii_val=list() str_val=input("請輸入一個字串: ") x=len(str_val) for i in range(x): y=ord(str_val[i]) ascii_val.append(y) print("ASCII code for " , "'", str_val[i],"' is ", y ) print("每個字元ASCII碼的總和 :", sum(ascii_val))
輸出結果
請輸入一個字串: Kingdom ASCII code for ' K ' is 75 ASCII code for ' i ' is 105 ASCII code for ' n ' is 110 ASCII code for ' g ' is 103 ASCII code for ' d ' is 100 ASCII code for ' o ' is 111 ASCII code for ' m ' is 109 每個字元ASCII碼的總和 : 713
第九題
請撰寫一程式,讀取read.txt的內容(內容為數字,以空白分隔)並將這些數字加總,接著再顯示檔案內容和加總的結果。檔案讀取完成後要關閉。
用 with open() as file 來開啟檔案
read.txt 內容存放如下,故意放進二行數據
1 2 3 99 54 36 97
10 20 30 40 50 60 70 80 90
程式如下
val=list() with open("read.txt" , mode="r",encoding="utf-8") as file: for line in file: print (line.split()) val=val+line.split() sum_val = list(map(int, val)) print(sum(sum_val))
輸出結果
['1', '2', '3', '99', '54', '36', '97'] ['10', '20', '30', '40', '50', '60', '70', '80', '90'] 742
沒有留言:
張貼留言