Kenneth A.Lambert著的資料結構(用python語言描述)的第一章課後程式設計答案
第6題:工資部門將每個支付週期的僱員資訊的列表儲存到一個文字檔案,
每一行的格式:<last name><hourly wage><hours worked>
編寫一個程式,讓使用者輸出檔名並且最終向終端輸出報表。
自行建立一個txt檔案,如下圖所示:
程式碼:
方法一、從txt檔案中讀取內容,並向excel表格檔案寫入
- import xlwt
- word=[]
- fileName=input("請輸入檔名:")
- f=open(fileName,'r')
- content=f.readlines()
- i=0
- for line in content:
- line=line.split()
- word.append(line)
- f.close()
- print(word)
- w =xlwt.Workbook(encoding = 'utf-8') #建立一個工作簿
- ws =w.add_sheet('1') #建立一個工作表
- for i in range(len(content)):
- for j in range(len(word[0])):
- ws.write(i,j,word[i][j])
- w.save('salary.xls')
最終,產生了一個salary.xls檔案,檔案內的內容和txt中一致
方法二、從txt檔案中讀取內容,並在控制檯以表格形式展現
- from prettytable import PrettyTable
- word=[]
- fileName=input("請輸入檔名:")
- f=open(fileName,'r')
- content=f.readlines()
- i=0
- for line in content:
- line=line.split()
- word.append(line)
- f.close()
- print(word)
- for i in range(len(content)):
- if i==0:
- table = PrettyTable(word[0])
- else:
- table.add_row(word[i])
- table.reversesort = True
- print(table)
- +----------+-------------+------------+
- | lastName | hoursWorked | hourlyWage |
- +----------+-------------+------------+
- | Bob | 4 | 80 |
- | Ann | 8 | 160 |
- | Jack | 6 | 120 |
- | Lee | 13 | 260 |
- | Steven | 24 | 480 |
- +----------+-------------+------------+
第7題:在名為stats.py的模組中定義一些函式:計算列數字的中位數、眾數和平均數,以列表為引數,返回一個單個的數字
程式碼:
- #以下函式定義在一個stats.py的檔案中,
- #當import stats,可呼叫以下函式
- #計算中位數
- def median(lst):
- if len(lst)%2==0:
- return lst[len(lst)//2-1:len(lst)//2+1]
- else:
- return lst[len(lst)//2:len(lst)//2+1]
- #計算眾數
- def mode(lst):
- return max(lst.count(x) for x in set(lst))
- #計算平均數
- def mean(lst):
- return sum(lst)/len(lst)
呼叫自定義模組的步驟(lst是一個列表):
1. 匯入該模組:import stats
2.呼叫函式:stats.median(lst) or stats.mode(lst) or stats.mean(lst)
第8題:編寫程式,允許使用者在檔案的文字中導航。程式提示輸入一個檔名,並且輸出想要放入到列表中的文字 行, 實際行號範圍是從1到檔案行數,如果使用者輸入0,程式退出。否則程式輸出和該行號相關的行。
程式碼:
- fileName=input("請輸入檔名:")
- addLines=input("請輸入文字:")
- f=open(fileName,'a+')
- f.write('\n'+addLines)
- f.seek(0)
- content=f.readlines()
- print(content)
- f.close()
- num=1
- while num:
- print("目前檔案的行號範圍為1~",len(content))
- num=int(input("請輸入一個行號:"))
- if num==0:
- break
- else:
- print(content[num-1])
- num=0
結果例項:
第9、10題:寫一個簡單的圖書館的軟體系統,看我的下一個部落格,提供轉換門:https://blog.csdn.net/LZH_12345/article/details/79679433相關文章
- 資料結構--排序--插入排序--python語言描述資料結構排序Python
- Python快速程式設計入門課後程式題答案Python程式設計
- 資料結構 課程設計 員工管理系統(C語言)資料結構C語言
- 《Python語言程式設計》課程筆記Python程式設計筆記
- Java語言程式設計與資料結構(基礎篇)課後複習題 第八章(四)Java程式設計資料結構
- 資料結構演算法與應用c++語言描述 原書第二版 答案(更新中資料結構演算法C++
- 樹 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 堆疊的應用——用JavaScript描述資料結構JavaScript資料結構
- AVL 樹 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 伸展樹 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 棧 ADT 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 資料結構與演算法分析(c 語言描述)習題 1.2資料結構演算法
- 資料結構與演算法分析(c 語言描述)習題 1.3資料結構演算法
- 資料結構與演算法分析(c 語言描述)習題 1.1資料結構演算法
- 佇列 ADT 【資料結構與演算法分析 c 語言描述】佇列資料結構演算法
- 函數語言程式設計 – Lens(透鏡)原理與應用 [Swift描述]函數程式設計Swift
- 函數語言程式設計 - Lens(透鏡)原理與應用 [Swift描述]函數程式設計Swift
- 函數語言程式設計 - 酷炫Applicative(應用函子) [Swift描述]函數程式設計APPSwift
- 棧的應用之平衡符號 【資料結構與演算法分析 c 語言描述】符號資料結構演算法
- C語言程式設計讀書筆記:結構C語言程式設計筆記
- 實驗6 C語言結構體、列舉應用程式設計C語言結構體程式設計
- 第一章 程式設計和C語言----案例程式設計C語言
- 資料流&函數語言程式設計函數程式設計
- 結對程式設計(c語言)程式設計C語言
- python函數語言程式設計Python函數程式設計
- 實驗6_C語言結構體、列舉應用程式設計C語言結構體程式設計
- 用c語言實現資料結構——單連結串列C語言資料結構
- Java 中的資料流和函數語言程式設計Java函數程式設計
- 函數語言程式設計瞭解一下(JavaScript描述)函數程式設計JavaScript
- 實驗6迴圈結構程式設計(for語句的應用)程式設計
- C語言程式設計之《資料輸出》C語言程式設計
- 資料結構與演算法分析(c 語言描述)最大子序列和問題資料結構演算法
- python函數語言程式設計一Python函數程式設計
- python函數語言程式設計二Python函數程式設計
- Python函數語言程式設計術語大全Python函數程式設計
- 再談程式設計正規化—程式語言背後的思想程式設計
- 程式設計師必須掌握的資料結構 2程式設計師資料結構
- 程式設計師必須掌握的資料結構 1程式設計師資料結構