啊彪是 2022-12-22 13:03 采纳率: 100%
浏览 116
已结题

Python求解!急!悬赏!

1.设计程序,将一组学生(5名学生为一组)相关信息(每个学生的信息包含:学号、姓名、性别和电话)以字典格式把相关内容写到“学生信息.txt”文件中,再将“学生信息.txt”文件内容全部读取显示。
学生的字典信息格式如下:
Stu_1={‘sno’:’202201’, ’name’:’张三’,
’sex’:’男’, ’tel’:’12345678901’}
2.设计并生成一个学生类(class),定义方法实现上题中“学生信息.txt”中学生信息的增加和查询功能。

  • 写回答

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())
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月22日
  • 已采纳回答 12月22日
  • 创建了问题 12月22日

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值