1.设计程序,将一组学生(5名学生为一组)相关信息(每个学生的信息包含:学号、姓名、性别和电话)以字典格式把相关内容写到“学生信息.txt”文件中,再将“学生信息.txt”文件内容全部读取显示。
学生的字典信息格式如下:
Stu_1={‘sno’:’202201’, ’name’:’张三’,
’sex’:’男’, ’tel’:’12345678901’}
2.设计并生成一个学生类(class),定义方法实现上题中“学生信息.txt”中学生信息的增加和查询功能。
Python求解!急!悬赏!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 我不是idol 2022-12-22 13:48关注
# 将学生信息以字典格式写入文件 def write_stu_info_to_file(stu_list): # 打开文件,设置写入模式 with open('学生信息.txt', 'w') as file: # 循环学生信息列表,将每个学生的信息写入文件 for stu in stu_list: file.write(str(stu) + '\n') # 读取文件中的学生信息,并将其转化为字典格式 def read_stu_info_from_file(): # 创建空列表,用于存储读取到的学生信息 stu_list = [] # 打开文件,设置读取模式 with open('学生信息.txt', 'r') as file: # 逐行读取文件内容 for line in file: # 将每行文本转化为字典格式 stu = eval(line) # 将学生信息添加到列表中 stu_list.append(stu) # 返回读取到的学生信息列表 return stu_list # 学生类 class Student: # 构造函数,用于初始化学生信息 def init(self, sno, name, sex, tel): self.sno = sno self.name = name self.sex = sex self.tel = tel # 增加学生信息的方法 def add_stu(self): # 将学生信息以字典格式写入文件 write_stu_info_to_file([self]) # 查询学生信息的方法 def query_stu(self): # 读取文件中的学生信息 stu_list = read_stu_info_from_file() # 循环学生信息列表,查询指定学生信息 for stu in stu_list: # 如果学号相同,则返回学生信息 if stu['sno'] == self.sno: return stu # 如果没有找到指定学号的学生,则返回空字典 return {} # 测试代码 if name == 'main': # 创建学生1对象 stu1 = Student('202201', '张三', '男', '12345678901') # 增加学生1信息 stu1.add_stu() # 创建学生2对象 stu2 = Student('202202', '李四', '女', '12345678902') # 增加学生2信息 stu2.add_stu() # 创建学生3对象 stu3 = Student('202203', '王五', '男', '12345678903') # 增加学生3信息 stu3.add_stu() # 查询学生1信息 print(stu1.query_stu()) # 查询学生2信息 print(stu2.query_stu()) # 查询学生3信息 print(stu3.query_stu())
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥150 IED中开关量采样信号通道、以及程序流程的设计
- ¥15 改动头文件造成的编译错误如何解决
- ¥20 woocommerce 注册按键重定向
- ¥100 求书法图像文字切割代码
- ¥15 同一个波形探测距离不同的目标,为什么fft之后得到的频谱图会发生移动,不应该时移不改变幅度谱吗(标签-matlab)(相关搜索:matlab仿真)
- ¥20 【初学者】comsol周期性电流如何设置?例如通电三天断电三天
- ¥15 Proteus仿真程序只能执行一次
- ¥15 语音识别websocket报错
- ¥15 激光器,引脚问题,无法处理
- ¥20 求写一份!只提交Mapper映射文件 如:UsersMapper.xml