第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

最新文章

  1. JS 的事件委托机制
  2. Ros集成开发环境配置
  3. parse date receiving from mvc jsonresult
  4. matlab之meshgrid()函数
  5. Linux文件系统介绍(转)
  6. sqlserver 纵横
  7. Linux 系统常用命令汇总(五) 磁盘管理
  8. 火狐HACK
  9. shell入门之变量测试 分类: 学习笔记 linux ubuntu 2015-07-10 15:49 31人阅读 评论(0) 收藏
  10. poj2063 Investment(多次完全背包)
  11. 【转】使用 Eclipse 调试 Java 程序的 10 个技巧
  12. 一个Shell小脚本——旋转的斜杠
  13. wefwewewe
  14. [Luogu3377]【模板】左偏树(可并堆)
  15. TCP中的MSS解读(转)
  16. blinker库
  17. R语言中的回归诊断-- car包
  18. Eclipse中安装springmvc插件
  19. 20165236 2017-2018-2 《Java程序设计》第九周学习总结
  20. Warning: The Copy Bundle Resources build phase contains this target&#39;s Info.plist file &#39;Info

热门文章

  1. 修正linux系统时间
  2. Java - 一道关于整型和字符类型相加的题目
  3. PAT甲级——1106 Lowest Price in Supply Chain(BFS)
  4. Sanic框架
  5. hdu5726-GCD-ST表+二分
  6. CentOS,net core2 sdk nginx、supervisor、mysql
  7. es6新语法系列,查找字符串,模板字符串
  8. canvas前端压缩图片
  9. paas相关,添加ing
  10. sqlserver 删除两种方法比较