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
Kenneth A.Lambert著的数据结构(用python语言描述)的第一章课后编程答案的更多相关文章
- 【数据结构与算法分析——C语言描述】第一章总结 引论
这一章主要复习了一些数学知识,像指数.对数.模运算.级数公式:还有2种证明方法,归纳假设法和反证法.所幸以前学过,重新拾捡起来也比较轻松. 简要地复习了递归,提出了编写递归例程的四条基本法则: 基准情 ...
- 读书笔记《数据结构与算法JavaScript描述》第一章
第一章JavaScript的编程环境和模型 1.2JavaScript编程实践 1.2.1 声明和初始化变量 JavaScript中的变量默认为全局变量,如果初始化未被声明的变量,该变量就成了一个全局 ...
- 数据结构与算法分析——C语言描述 第三章的单链表
数据结构与算法分析--C语言描述 第三章的单链表 很基础的东西.走一遍流程.有人说学编程最简单最笨的方法就是把书上的代码敲一遍.这个我是头文件是照抄的..c源文件自己实现. list.h typede ...
- 列表的实现-----数据结构与算法JavaScript描述 第三章
实现一个列表 script var booklist = new List(); booklist.append('jsbook'); booklist.append('cssbook'); book ...
- 数据结构(python语言)目录链接
第一章 准备工作 课时0:0.数据结构(python语言) 基本概念 算法的代价及度量!!!
- Python之旅_第一章Python入门
一.编程语言分类 1.机器语言:即计算机能听懂的二进制语言,0000 0001,直接操控硬件: 2.汇编语言:简写的英文标识符代替二进制语言,本质同样是直接操控硬件: 3.高级语言:用更贴近人类的语言 ...
- 数据结构(java语言描述)
概念性描述与<数据结构实例教程>大同小异,具体参考:http://www.cnblogs.com/bookwed/p/6763300.html. 概述 基本概念及术语 数据 信息的载体,是 ...
- 《数据结构与算法Python语言描述》习题第二章第三题(python版)
ADT Rational: #定义有理数的抽象数据类型 Rational(self, int num, int den) #构造有理数num/den +(self, Rational r2) #求出本 ...
- 《数据结构与算法Python语言描述》习题第二章第二题(python版)
ADT Date: #定义日期对象的抽象数据类型 Date(self, int year, int month, int day) #构造表示year/month/day的对象 difference( ...
随机推荐
- 剑指Offer的学习笔记(C#篇)-- 序列化二叉树
题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 一 . 理解题意 二叉树的序列化,是将一个结构化的东西变成扁平化的字符串,序列化二叉树或者是反序列化二叉树就是二叉树和扩展二叉树遍历序列之间的 ...
- 剑指Offer的学习笔记(C#篇)-- 从上往下打印二叉树
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 一 . 题目解析 了解过二叉树就应该知道,二叉树存在三种遍历方法:前序遍历(根→左→右).中序遍历(左→根→右).后续遍历(左→右→根 ...
- 这几道Python面试题,稳准狠,Python面试题No15
必须放一个表情包,太魔性了! 第1题: 修改以下Python代码,使得下面的代码调用类A的show方法? 原始代码 class A(object): def run(self): print(&quo ...
- Jmeter 的 vars 和 props 用法
meter 的 JSR223 控件是 代替 BeanShell 的新一代脚本控件,支持多种脚本语言,尤其是其中的 Groovy,更是重点推荐使用的脚本语言,本文研究其中的 vars 和 props 两 ...
- Vue实例生命周期+vueRoter
Vue实例生命周期 vue生命周期之beforeCreate 实例创建之前除标签外,所有的vue需要的数据,事件都不存在 vue生命周期之created 实例创建之后,data和事件已经被解析到,el ...
- [Android]HttpClient和HttpURLConnection的区别
转载:http://blog.csdn.net/guolin_blog/article/details/12452307 最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在A ...
- 2019湘潭校赛 H(dp)
题目传送 dp是常规的:\(m^2\)的预处理:把位置存进vector然后\(O(1)\)算出想要的:WA点:要注意特意设置一下val[i][v.size()]=0,即全天都放鸽子则花费时间为0. # ...
- java--时间日期用法
转载大神 https://www.cnblogs.com/Mr-Lyu/p/5736152.html https://blog.csdn.net/yf198708/article/details/51 ...
- java中实现定时任务 task 或quartz
转载大神的 https://www.cnblogs.com/hafiz/p/6159106.html https://www.cnblogs.com/luchangyou/p/6856725.html ...
- net core分块上传文件
net core分块上传文件 写完asp.net多文件上传(http://www.cnblogs.com/bestckk/p/5987383.html)后,感觉这种上传还是有很多缺陷,于是...( ...