python学生信息录入面向对象(初学)

import csv
class Student:
    role='student'
    def __init__(self,id,name,sex,age,grades):
        self.name=name
        self.id = id
        self.sex=sex
        self.age=age
        self.grades=grades
    def print_score(self):
        print('学号:%s,姓名:%s,性别:%s,年龄:%s,成绩:%s'%(self.id,self.name,self.sex,self.age,self.grades))
    @classmethod
    def change_role(cls, new_role):
        cls.role = new_role

def main( ):
    student_list=[]
    while True:
        id=input("请输入学号(Q退出):")
        if id=='Q':
            break
        name=input('姓名:')
        sex=input('性别:')
        age=input('年龄:')
        grades=input('成绩:')
        student=Student(id,name,sex,age,grades)
        student_list.append(student)
    with open('students.csv','w',newline='')as csvfile:
        fieldnames=['学号','姓名','性别','年龄','成绩']
        writer=csv.DictWriter(csvfile,fieldnames=fieldnames)
        writer.writeheader()
        for student in student_list:
            writer.writerow({'学号':student.id,'姓名':student.name,'性别':student.sex,'年龄':student.age,'成绩':student.grades})
if __name__ =="__main__":
    main()

用的是csv文件储存

遇到问题:表头是乱码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值