盘点Python基础实战

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

[[427070]]

大家好,我是Python进阶者。

前言

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

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

一、思路

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

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

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

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

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

三、总结

 

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

 

责任编辑:武晓燕 来源: Python爬虫与数据挖掘
相关推荐

2021-07-21 10:18:21

Python条件语句Python基础

2021-03-13 10:14:59

Python定义函数Python基础

2022-04-04 09:12:18

Python内置函数

2021-04-07 10:02:51

Python字典Python基础

2021-04-28 10:01:06

Python基础项目

2021-04-17 10:05:57

Python字符串Python基础

2021-11-10 07:47:49

Python源码代码

2012-06-26 09:41:31

2021-04-15 10:00:46

Java基础ListJava开发

2021-04-12 10:02:02

JavaList集合

2022-05-10 14:11:05

网络安全网络犯罪

2023-12-04 16:15:05

Docker容器

2022-09-06 08:54:00

SpringBootController

2021-01-21 10:02:45

Consul架构安装

2023-12-06 13:48:00

C++代码

2023-08-01 23:04:40

Spring编程AOP

2021-07-05 10:00:31

JavaStack基础

2017-07-27 20:50:55

PythonDecorator装饰器

2011-03-29 11:32:29

2021-09-04 07:56:44

Pythonos模块
点赞
收藏

51CTO技术栈公众号