学生类存储学生信息

导入csv,通过创建学生类,定义类属性;再创建构造方法,定义实例属性;将学生信息写入csv文件中,通过主函数将学生信息录入,最后就能运行出结果。

import csv
class Student:
    role='student'
    def __init__(self,xuehao,name,gender,age,grade):
        #self.xuehao=xuehao
        #self.name=name
        #self.gender=gender
        #self.age=age
        #self.grade=grade这些信息都不必再写,直接将xuehao,name等信息存入到列表中,如下
        self.info_list=[xuehao,name,gender,age,grade]
        with open('sx.csv', 'w', newline='', encoding='utf-8') as csvfile:
            fieldnames = ['学号', '姓名', '性别', '年龄', '成绩']
            writer = csv.writer(csvfile, fieldnames=fieldnames)
            writer.writeheader()  # csv文件的写入
    @classmethod
    def study(cls,new_role):
        cls.role=new_role
    def print_student_message(self):
        print(f"学生姓名:{self.name},学号:{self.xuehao},性别:{self.gender},年龄:{self.age},成绩:{self.grade}")
    def update_message(self,new_xuehao=None,new_name=None,new_gender=None,new_age=None,new_grade=None):
        if new_xuehao is not None:
            self.xuehao=new_xuehao
        if new_name is not None:
            self.name=new_name
        if new_gender is not None:
            self.gender=new_gender
        if new_age is not None:
            self.age=new_age
        if new_grade is not None:
            self.grade=new_grade
def main():
    sx=[]
    while True:
        xuehao=input("请输入学号或输入'q'时退出:")
        if xuehao.lower()=='q':
            break
        name=input("请输入姓名:")
        gender=input("请输入性别:")
        age=input("请输入年龄:")
        grade=input("请输入成绩:")
        #student=Student(xuehao, name, gender, age, grade)
        #sx.append(student)
        students_info = {'学号': xuehao, '姓名': name, '性别': gender, '年龄': age, '成绩': grade}
        message = students_info
        print(message)
        print('录入完毕')

if __name__=="__main__":
    main()

最终运行结果如下:

  • 18
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值