第6题:工资部门将每个支付周期的雇员信息的列表保存到一个文本文件,

每一行的格式:<last name><hourly wage><hours worked>

编写一个程序,让用户输出文件名并且最终向终端输出报表。

自行创建一个txt文件,如下图所示:

代码:

方法一、从txt文件中读取内容,并向excel表格文件写入

  1. import xlwt
  2. word=[]
  3. fileName=input("请输入文件名:")
  4. f=open(fileName,'r')
  5. content=f.readlines()
  6. i=0
  7. for line in content:
  8. line=line.split()
  9. word.append(line)
  10. f.close()
  11. print(word)
  12. w =xlwt.Workbook(encoding = 'utf-8') #创建一个工作簿
  13. ws =w.add_sheet('1') #创建一个工作表
  14. for i in range(len(content)):
  15. for j in range(len(word[0])):
  16. ws.write(i,j,word[i][j])
  17. w.save('salary.xls')

最终,产生了一个salary.xls文件,文件内的内容和txt中一致

方法二、从txt文件中读取内容,并在控制台以表格形式展现

  1. from prettytable import PrettyTable
  2. word=[]
  3. fileName=input("请输入文件名:")
  4. f=open(fileName,'r')
  5. content=f.readlines()
  6. i=0
  7. for line in content:
  8. line=line.split()
  9. word.append(line)
  10. f.close()
  11. print(word)
  12. for i in range(len(content)):
  13. if i==0:
  14. table = PrettyTable(word[0])
  15. else:
  16. table.add_row(word[i])
  17. table.reversesort = True
  18. print(table)

结果展示:

  1. +----------+-------------+------------+
  2. | lastName | hoursWorked | hourlyWage |
  3. +----------+-------------+------------+
  4. | Bob | 4 | 80 |
  5. | Ann | 8 | 160 |
  6. | Jack | 6 | 120 |
  7. | Lee | 13 | 260 |
  8. | Steven | 24 | 480 |
  9. +----------+-------------+------------+

第7题:在名为stats.py的模块中定义一些函数:计算列数字的中位数、众数和平均数,以列表为参数,返回一个单个的数字

代码:

  1. #以下函数定义在一个stats.py的文件中,
  2. #当import stats,可调用以下函数
  3. #计算中位数
  4. def median(lst):
  5. if len(lst)%2==0:
  6. return lst[len(lst)//2-1:len(lst)//2+1]
  7. else:
  8. return lst[len(lst)//2:len(lst)//2+1]
  9. #计算众数
  10. def mode(lst):
  11. return max(lst.count(x) for x in set(lst))
  12. #计算平均数
  13. def mean(lst):
  14. return sum(lst)/len(lst)

调用自定义模块的步骤(lst是一个列表):

1. 导入该模块:import stats

2.调用函数:stats.median(lst)  or  stats.mode(lst)  or stats.mean(lst)

第8题:编写程序,允许用户在文件的文本中导航。程序提示输入一个文件名,并且输出想要放入到列表中的文本 行, 实际行号范围是从1到文件行数,如果用户输入0,程序退出。否则程序输出和该行号相关的行。

代码:

  1. fileName=input("请输入文件名:")
  2. addLines=input("请输入文本:")
  3. f=open(fileName,'a+')
  4. f.write('\n'+addLines)
  5. f.seek(0)
  6. content=f.readlines()
  7. print(content)
  8. f.close()
  9. num=1
  10. while num:
  11. print("目前文件的行号范围为1~",len(content))
  12. num=int(input("请输入一个行号:"))
  13. if num==0:
  14. break
  15. else:
  16. print(content[num-1])
  17. num=0

结果实例:

第9、10题:写一个简单的图书馆的软件系统,看我的下一个博客,提供转换门:https://blog.csdn.net/LZH_12345/article/details/79679433

Kenneth A.Lambert著的数据结构(用python语言描述)的第一章课后编程答案的更多相关文章

  1. 【数据结构与算法分析——C语言描述】第一章总结 引论

    这一章主要复习了一些数学知识,像指数.对数.模运算.级数公式:还有2种证明方法,归纳假设法和反证法.所幸以前学过,重新拾捡起来也比较轻松. 简要地复习了递归,提出了编写递归例程的四条基本法则: 基准情 ...

  2. 读书笔记《数据结构与算法JavaScript描述》第一章

    第一章JavaScript的编程环境和模型 1.2JavaScript编程实践 1.2.1 声明和初始化变量 JavaScript中的变量默认为全局变量,如果初始化未被声明的变量,该变量就成了一个全局 ...

  3. 数据结构与算法分析——C语言描述 第三章的单链表

    数据结构与算法分析--C语言描述 第三章的单链表 很基础的东西.走一遍流程.有人说学编程最简单最笨的方法就是把书上的代码敲一遍.这个我是头文件是照抄的..c源文件自己实现. list.h typede ...

  4. 列表的实现-----数据结构与算法JavaScript描述 第三章

    实现一个列表 script var booklist = new List(); booklist.append('jsbook'); booklist.append('cssbook'); book ...

  5. 数据结构(python语言)目录链接

    第一章 准备工作 课时0:0.数据结构(python语言) 基本概念 算法的代价及度量!!!

  6. Python之旅_第一章Python入门

    一.编程语言分类 1.机器语言:即计算机能听懂的二进制语言,0000 0001,直接操控硬件: 2.汇编语言:简写的英文标识符代替二进制语言,本质同样是直接操控硬件: 3.高级语言:用更贴近人类的语言 ...

  7. 数据结构(java语言描述)

    概念性描述与<数据结构实例教程>大同小异,具体参考:http://www.cnblogs.com/bookwed/p/6763300.html. 概述 基本概念及术语 数据 信息的载体,是 ...

  8. 《数据结构与算法Python语言描述》习题第二章第三题(python版)

    ADT Rational: #定义有理数的抽象数据类型 Rational(self, int num, int den) #构造有理数num/den +(self, Rational r2) #求出本 ...

  9. 《数据结构与算法Python语言描述》习题第二章第二题(python版)

    ADT Date: #定义日期对象的抽象数据类型 Date(self, int year, int month, int day) #构造表示year/month/day的对象 difference( ...

随机推荐

  1. js函数—隐形参数this

    前言 this是函数中的隐形参数,它绑定的值取决于函数的调用位置. this的定义 <你不知道的js>中是这样说的:是函数体内的隐式参数,this就是记录函数调用上下文的一个属性.可以在函 ...

  2. HE学业水平考试游记 By cellur925

    \(I'm\) \(back\). Day -2 今天高二全体学生开始了愉悦的长达两天半的自习2333. 第一天刚了最不会的地理必修一.以前没发现,其实真的挺有趣的233. 于是用了一天学习了一年的地 ...

  3. jQuery EasyUI/TopJUI创建日期输入框

    jQuery EasyUI/TopJUI创建日期输入框 日期时间输入框组件 HTML required:必填字段,默认为false:prompt:显示在输入框的提示性文字:pattern:日期格式 Y ...

  4. CC22:检查是否为BST

    题目 请实现一个函数,检查一棵二叉树是否为二叉查找树. 给定树的根结点指针TreeNode* root,请返回一个bool,代表该树是否为二叉查找树. 解法 二叉排序树有个特点是,结点通过中序遍历出来 ...

  5. C# File和fileinfo类

    两个类功能差不多,File是静态方法实现的,Fileinfo通过实例方法实现的: 文件操作例子: using System; using System.Collections.Generic; usi ...

  6. Hive_Hive的数据模型_汇总

    体系结构: 元数据 /HQL的执行安装: 嵌入 /远程 /本地管理: CLI /web界面 /远程服务数据类型: 基本 /复杂 /时间数据模型: 数据存储 /内部表 /分区表 /外部表 /桶表 /视图 ...

  7. IIS中的 Asp.Net Core 和 dotnet watch

    在基于传统的.NET Framework的Asp.Net Mvc的时候,本地开发环境中可以在IIS中建立一个站点,可以直接把站点的目录指向asp.net mvc的项目的根目录.然后build一下就可以 ...

  8. C#实现程序单例日志输出

    对于一个完整的程序系统,一个日志记录是必不可少的.可以用它来记录程序在运行过程中的运行状态和报错信息.比如,那些不想通过弹框提示的错误,程序执行过程中捕获的异常等. 首先,在你的解决方案中,适当的目录 ...

  9. springmvc的DispatcherServlet源码——doDispatch方法解析

    DispatcherServlet的doDispatch方法主要用作职责调度工作,本身主要用于控制流程,主要职责如下: 1.文件上传解析,如果请求类型是multipart将通过MultipartRes ...

  10. AtCoderBeginnerContest109题解

    第一次AK,真爽qwq A 很zz啊,,直接判断三种情况就行 /* */ #include<iostream> #include<cstdio> #include<cst ...