Python小项目(学生成绩管理系统)3.添加学生信息部分

本文介绍了如何使用Python实现一个简单的学生成绩管理系统,重点讲解了添加学生信息的部分,包括创建`insert()`函数来收集学生信息并存储为字典,以及`save()`函数将学生信息保存到本地txt文件的实现过程。
部署运行你感兴趣的模型镜像

Python小项目(学生成绩管理系统)

第三天:添加学生信息部分。

一.insert()函数

定义一个insert()函数,其功能为:

1.创建一个列表student_list=[],用于存放学生的各种信息以及考试成绩。

2.用input()写入学生信息,注意将姓名部分改为字符串类型str()。

3.将学生的信息汇总成一个字典student={}。 一个学生就是一个字典,将所有的字典放入最初student_list列表中。 下一步即为将列表信息保存至本地文件中(即为save()函数)。

 4.询问是否继续添加信息?

这部分的主要代码如下:

注:这里需要注意student字典中的'name','id'若需改为中文,在后续的search()函数中 if d['name'] == name 中也许将索引改为中文,不然会报错。

def insert():
    student_list = []
    while True:
        name = str(input('请输入学生的姓名: '))
        if not name:
            break
        id = int(input('请输入学生的学号: '))
        if not id:
            break
        #try内代码为主代码。若主代码出错,则运行except中的代码。
        try:
            chinese = int(input('输入学生的语文成绩: '))
            math = int(input('输入学生的数学成绩: '))
            english = int(input('输入学生的英语成绩: '))
        except:
            print('输入错误,请重新输入。')
            continue

        #输入的三门成绩,保存到一个字典中。
        student = {'name':name ,'id:':id,'chinese:':chinese,'math':math,'english':english}
        student_list.append(student)
        #询问是否继续添加新学生的信息
        answer = str(input('是否继续添加信息?T/F'))
        if answer == 'T':
            continue
        else:
            break
    #使用save()函数,保存信息到student.txt文件中
    save(student_list)
    print('学生信息录入完毕。')

二.save()函数部分

我们以及将存有学生信息的数据放在了一个列表里,现在我们需要创建一个本地的.txt文件,作为存放学生信息的本地文件。

filename = 'student.txt'

现在我们要编写一个save()函数,用以存储学生信息列表,保存并且关闭。

首先定义save函数:

stu_txt:open()打开本地文件student.txt,用UTF-8转换格式。

def save(student_list):
    stu_txt = open(filename , 'a' , encoding = 'UTF-8') #a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾

然后遍历student_list列表,将所有信息用.write()写入stu_txt。.close()关闭.txt文件。

这里的item我一直搞不太清楚是什么。可以断个点debug一下,可以看到item具体是什么。

for item in student_list:
    stu_txt.write(str(student_list),'\n')    #\n换行
stu_txt.close()

完整代码如下:

def save(student_list):
    stu_txt = open(filename,'a',encoding='UTF-8')    
    for item in student_list:                              
        stu_txt.write(str(item) + '\n')
    stu_txt.close()

到此所有的insert()函数结束。总结一下,先定义insert():将学生信息汇总为一个个的字典,再将字典写入一个空列表中。后定义save():将本地文件打开,把列表内的信息都写入本地,关闭本地文件。

(续)

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值