博客
关于我
Python-类与文件读取结合
阅读量:797 次
发布时间:2023-03-08

本文共 1614 字,大约阅读时间需要 5 分钟。


定义一个名为Student的类,包含以下属性和方法:

  • 属性:

    • name:学生姓名
    • dob:生日
    • age:年龄
    • gender:性别
    • score:分数列表
  • 方法:

    • __init__:初始化方法,接收并赋值name、dob、age、gender和score。
    • sanitize:清洗分数方法,将负数转换为正数。
    • top3:返回最大的三个分数。
    • print_stu:打印学生信息,包括最高三个分数。

  • 读取并解析txt文件:

    • 遍历工作路径下的所有txt文件。
    • 对每个文件,读取内容并解析为所需的字段。
    • 创建Student对象并添加到stu_list列表中。

    输出学生信息:

    • 遍历stu_list,调用每个学生的print_stu方法,输出姓名、生日、年龄、性别和最高三个分数。

    以下是优化后的Python代码:

    import osclass Student:    def __init__(self, name, dob, age, gender, score):        self.name = name        self.dob = dob        self.age = age        self.gender = gender        self.score = score    def sanitize(self):        self.score = [int(i) for i in self.score]        for i in range(len(self.score)):            if self.score[i] < 0:                self.score[i] = abs(self.score[i])    def top3(self):        self.sanitize()        self.score = sorted(self.score)        self.score = self.score[-3:]    def print_stu(self):        self.top3()        print(f"姓名:{self.name},生日:{self.dob},年龄:{self.age},性别:{self.gender},最高分数:{self.score}")# 读取文件并创建学生对象列表path = './aistudio/work'file_list = []for filename in os.listdir(path):    if filename.endswith('.txt'):        file_list.append(filename)stu_list = []for filename in file_list:    with open(os.path.join(path, filename), 'r', encoding='UTF-8') as f:        data = f.read().split(',')        stu = Student(            name=data[0],            dob=data[1],            age=data[2],            gender=data[3],            score=dict(map(float, data[4:]))        )        stu_list.append(stu)# 输出所有学生信息for stu in stu_list:    stu.print_stu()

    该代码定义了Student类,能够读取并解析txt文件中的数据,处理负数分数,并输出学生的信息。代码结构清晰,易于理解和维护。

    转载地址:http://rzlfk.baihongyu.com/

    你可能感兴趣的文章
    Python 多处理库错误(AttributeError:__exit__)
    查看>>
    Python 多处理模块的 .join() 方法到底在做什么?
    查看>>
    python 多线程与GIL
    查看>>
    python 字符串中特定字符替换,截取
    查看>>
    Python 字符串总结
    查看>>
    python 字符串显示中文_Python字符串开头的b"、u"、r"与中文乱码
    查看>>
    Python 字符串的几种拼装方式
    查看>>
    python 存入数据库bigint_python基础_MySQL的bigint类型
    查看>>
    python 学习 面向对象编程
    查看>>
    Python 学习日记第三篇 -- 字典
    查看>>
    Python 学习笔记(一)Data type
    查看>>
    python 安装echarts
    查看>>
    python 安装opencv及问题解决
    查看>>
    Python 安装程序:“写入文件 C:\Python27\pythonw.exe 时出错“
    查看>>
    Python 安装避坑指南:从入门到进阶
    查看>>
    Python 安装配置详解
    查看>>
    Python 常见的错误类型和继承关系
    查看>>
    python 常量_零基础学Python系列之一:Python的变量与常量
    查看>>
    Python 并发编程
    查看>>
    python 微信扫码登录_python实现微信第三方网站扫码登录(Django)
    查看>>