盘点一道Python基础实战题目

骑猪看日落 2022-08-28 10:58 236阅读 0赞

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

云想衣裳花想容,春风拂槛露华浓。

大家好,我是Python进阶者。

前言

前几天有个叫【-berry】的粉丝在Python交流群里问了一道关于大学生Python题目的问题,如下图所示。

2cc5f79f0ee9f3eb28d3643ded31f5b9.png

  1. 初步一看,还是觉得有点难的,对于刚学完基础的小伙伴来说,这个小项目还是有点难度,这个题目主要考察的是random库、列表、字典、open文件操作等基础操作,运用实际生活中的例子,确实是一个练手的好题目。

一、思路

  1. 其实问题的关键点就是在于构造姓名,学号和成绩,之后以字典的形式进行写入文件。这里准备两个列表,一个姓,一个名,之后使用random库进行随机字符串拼接,得到姓名。

二、解决方法

1)TXT文件存储

直接上代码,如下所示:

  1. # !/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # @FileName :test.py
  4. # @Time :2021/9/19 21:34
  5. # @Author :Cat
  6. import random
  7. xing = ['赵','钱','孙','李','周','吴','郑','王',
  8. '冯','陈','褚','卫','蒋','沈','韩','杨',
  9. '朱','秦','尤','许','何','吕','施','张',
  10. '孔','曹','严','华','金','魏','陶','姜',
  11. '戚','谢','邹','喻','柏','水','窦','章',
  12. '云','苏','潘','葛','奚','范','彭','郎',
  13. '鲁','韦','昌','马','苗','凤','花','方',
  14. '俞','任','袁','柳','酆','鲍','史','唐',
  15. '费','廉','岑','薛','雷','贺','倪','汤',
  16. '滕','殷','罗','毕','郝','邬','安','常',
  17. '乐','于','时','傅','皮','卞','齐','康',
  18. '伍','余','元','卜','顾','孟','平','黄',
  19. '和','穆','萧','尹','姚','邵','湛','汪',
  20. '祁','毛','禹','狄','米','贝','明','臧',
  21. '计','伏','成','戴','谈','宋','茅','庞',
  22. '熊','纪','舒','屈','项','祝','董','梁',]
  23. ming = [
  24. '凡','佳','勤','珍','贞','鸿','焕','风','朗',
  25. '浩','亮','政','谦','振','壮','伟','刚','勇','毅','俊','峰','强','军','平','保','东','文','辉','力','固','之','段','殿','泰',
  26. '利','清','飞','彬','富','顺','信','子','杰','涛','昌','成','康','星','翰','诚','博','先','敬',
  27. '若','鸣','朋','斌','梁','栋','维','启','克','伦','翔','旭','鹏','泽','朗','伯','彪','晋','晟',
  28. '诚','先','敬','震','振','壮','会','思','群','豪','心','邦','承','乐','宏','言','旲','旻','昊',
  29. '光','天','达','安','岩','中','茂','进','林','有','坚','和','彪','博','泰','盛','振','挺','掣',
  30. '明','永','健','世','广','志','义','兴','良','海','山','仁','波','宁','行','时','志','忠','思',
  31. '绍','功','松','善','厚','庆','磊','民','友','裕','河','哲','江','超','炎','德','彰','征','律',
  32. '晨','辰','士','以','建','家','致','煜','煊','炎','波','宁','贵','福','生','龙','元','全','国',
  33. '胜','学','祥','才','发','武','新','利','清','飞','彬','富','顺','信','子','杰','涛','昌','成',
  34. '康','星','光','天','达','安','岩','中','茂','进','林','有','坚','和'
  35. ]
  36. with open('students.txt', 'a', encoding='utf-8') as f:
  37. for i in range(9):
  38. item = {}
  39. item['姓名'] = random.choice(xing) + random.choice(ming)
  40. item['学号'] = str(2020010001 + i)
  41. item['成绩'] = random.randint(0, 100)
  42. f.write(str(item))
  43. f.write('\n')

运行之后,得到的结果如下所示:91910441a75eadccfad8aca1d3d01c1e.png

2)CSV文件存储

代码如下所示:

  1. # !/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # @FileName :test_csv.py
  4. # @Time :2021/9/26 21:01
  5. # @Author :Cat
  6. import random
  7. import csv
  8. headers = ['姓名', '学号', '成绩']
  9. xing = ['赵','钱','孙','李','周','吴','郑','王',
  10. '冯','陈','褚','卫','蒋','沈','韩','杨',
  11. '朱','秦','尤','许','何','吕','施','张',
  12. '孔','曹','严','华','金','魏','陶','姜',
  13. '戚','谢','邹','喻','柏','水','窦','章',
  14. '云','苏','潘','葛','奚','范','彭','郎',
  15. '鲁','韦','昌','马','苗','凤','花','方',
  16. '俞','任','袁','柳','酆','鲍','史','唐',
  17. '费','廉','岑','薛','雷','贺','倪','汤',
  18. '滕','殷','罗','毕','郝','邬','安','常',
  19. '乐','于','时','傅','皮','卞','齐','康',
  20. '伍','余','元','卜','顾','孟','平','黄',
  21. '和','穆','萧','尹','姚','邵','湛','汪',
  22. '祁','毛','禹','狄','米','贝','明','臧',
  23. '计','伏','成','戴','谈','宋','茅','庞',
  24. '熊','纪','舒','屈','项','祝','董','梁',]
  25. ming = [
  26. '凡','佳','勤','珍','贞','鸿','焕','风','朗',
  27. '浩','亮','政','谦','振','壮','伟','刚','勇','毅','俊','峰','强','军','平','保','东','文','辉','力','固','之','段','殿','泰',
  28. '利','清','飞','彬','富','顺','信','子','杰','涛','昌','成','康','星','翰','诚','博','先','敬',
  29. '若','鸣','朋','斌','梁','栋','维','启','克','伦','翔','旭','鹏','泽','朗','伯','彪','晋','晟',
  30. '诚','先','敬','震','振','壮','会','思','群','豪','心','邦','承','乐','宏','言','旲','旻','昊',
  31. '光','天','达','安','岩','中','茂','进','林','有','坚','和','彪','博','泰','盛','振','挺','掣',
  32. '明','永','健','世','广','志','义','兴','良','海','山','仁','波','宁','行','时','志','忠','思',
  33. '绍','功','松','善','厚','庆','磊','民','友','裕','河','哲','江','超','炎','德','彰','征','律',
  34. '晨','辰','士','以','建','家','致','煜','煊','炎','波','宁','贵','福','生','龙','元','全','国',
  35. '胜','学','祥','才','发','武','新','利','清','飞','彬','富','顺','信','子','杰','涛','昌','成',
  36. '康','星','光','天','达','安','岩','中','茂','进','林','有','坚','和'
  37. ]
  38. with open('students.csv', 'a', encoding='utf-8', newline='') as f:
  39. csv_writer = csv.DictWriter(f, headers)
  40. csv_writer.writeheader()
  41. for i in range(9):
  42. item = {}
  43. item['姓名'] = random.choice(xing) + random.choice(ming)
  44. item['学号'] = str(2020010001 + i)
  45. item['成绩'] = random.randint(0, 100)
  46. csv_writer.writerow(item)

运行之后,得到的结果如下所示:

93ddd34bb7e22d44afe49762d4c11970.png

每次运行程序之后,得到的txt和csv文件中的内容都是随机获取的,完成需求。

三、总结

  1. 我是Python进阶者。本文基于粉丝提问,完成了一道Python基础实战题目,主要涉及的知识点是random库、列表、字典、文件读取等知识。这个题目倒不是很难,解题方法肯定还有很多种,欢迎大家积极尝试,有好方法记得也分享给我学习下噢!

e41977847fb95312a5ae1061dddc91b8.png

  1. 小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

fab782009d818cbb46039f8411882f10.png

—----—-—-—---— End —----—---—-—---

往期精彩文章推荐:

  • 手把手教你采集京东销售数据并做简单的数据分析和可视化

  • 手把手教你用Pyecharts库对淘宝数据进行可视化展示

  • 手把手教你用Pandas库对淘宝原始数据进行数据处理和分词处理
  • Python项目实战篇——常用验证码标注&识别(前端+后端实现高效率数据标注)

73ef494020ffb665e2b1ebd1ca4d3fed.png

欢迎大家点赞,**留言,**转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

发表评论

表情:
评论列表 (有 0 条评论,236人围观)

还没有评论,来说两句吧...

相关阅读

    相关 一道编程题目

    昨天在微信群看到有人在讨论一个问题, 具体题目如下: 入参两个Intger,返回空,然后使这个两个值在调用函数后交换。打印交换后的值,比如你初始化两个变量a和b对应的值