押题?Python“学生成绩管理系统”

欢迎加入我们卧虎藏龙的python讨论qq群:996113038

┉┉┉┉┉┉ 『导语』 ┉┉┉┉┉┉

盼望着,盼望着

四月的尾巴来了

期中考试的脚步也近了

···

即使是还待在家的大学生

也难逃期中考试的魔爪

可能其他科目线上考试还是有困难的

但对于计算机课来说

听说很多学python的同学期中都是大作业形式

本期我们将为大家讲解一下常见的一个大作业

“Python成绩管理系统”

说不定这就是你的考试题呢

来一起看看叭

¨¨¨代码及相关资源获取』¨¨¨

1:关注“python趣味爱好者”公众号,回复“  game28 ”获取源代码

2:加入群聊:996113038。在群文件中下载源代码以及相关资料。


效果演示


开发工具

python3.6.4

相关第三方库:不需要第三方库


往期精选

用Python“追踪”快递

python图像转“抽象”画风


讲解部分

大家可以看到,我们是根据输入数字来选择功能,选择数字以后就进行相关的操作。num是接受输入的数字,然后用if判断语句来判断应该进行生命操作,所谓的操作就是调用相关的函数,比如说选择“1”,那就是调用添加学生信息的函数,依次类推。

num=input('请选择:')
    if num=='1':
        all_info=add_stu_info(all_info)

我们的主函数就是由这些if判断语句和函数调用语句组成的。当然,仅仅有这些是不行的,我们还需要定义相关的函数,这些函数的定义是我们自己写的。

下面介绍一个最简单的menu函数,调用这个函数的作用就是把人机交互界面显示出来,里面显示了各种操作的列表,如:添加学生信息,查看学生信息之类的。如下:

def show_menu():
    print('+--------------------------------+')
    print('|  1) 添加学生信息                 |')
    print('|  2) 查看所有学生信息              |')
    print('|  3) 修改学生的成绩                |')
    print('|  4) 删除学生信息                 |')
    print('|  5) 按成绩从高至低打印学生信息      |')
    print('|  6) 按成绩从低至高打印学生信息      |')
    print('|  7) 按年龄从大到小打印学生信息      |')
    print('|  8) 按年龄从小到大打印学生信息      |')
    print('|  9) 保存信息到文件(si.txt)        |')
    print('|  10)从文件中读取数据(si.txt)      |')
    print('|  q) 退出                        |')
    print('+--------------------------------+')

其次,还有这个信息录入的函数stu_info,里面有4个def,分别是添加学生信息,显示学生信息等,我们用添加学生信息作为一个例子给大家讲解一下。

先看看源代码:

def add_stu_info(all_info):
    while True:
        name=input('请输入学生姓名:')
        if not name:
            break
        age=int(input('请输入学生年龄:'))
        score=int(input('请输入学生成绩:'))
        all_info+=[{'name':name,'age':age,'score':score}]
    return all_info

调用这个函数的时候,我们需要输入的形参是all_info。这个可以看做一个列表,列表里面的元素是每个学生的信息,这些信息是名字,年龄,分数等,这些信息以字典的形式存储起来,我们添加学生信息的时候,实际上就是添加列表里面的元素。

其中的name,age,score就是这些信息。

在添加信息的时候,我们不断调用这个函数。

同时,我们还有修改,删除,显示信息的函数。原理都是差不多的,在此不做赘述。

最后要讲一点的就是如何将信息存储到本地。

我们用的是txt文件存储学生的相关信息。

很简单,就是如何读取和写入txt文件。

下面我们介绍写入txt文件的方法。

def save_file(all_info):
    f=open('si.txt','w')
    for i in all_info:
        f.write('|%s|%s|%s|\n' % (i['name'].center(20),str(i['age']).center(6),str(i['score']).center(6)))
    f.close()

大家看,我们输入的参数是all_info,也就是那个列表信息。然后我们打开si.txt文件,注意打开的方式要是‘w’。这样才可以写入。用for循环的方式写入,最后千万不要忘了关闭这个txt。


万变不离其宗

或许这不是你的作业

但可能给你带来一些启发

本期分享到此结束

很高兴你能看到最后

作者|齐

编辑|潇洒哥

       感谢大家观看

有钱的老板可以打赏一下小编哦

 扫描下方二维码,关注我们~

 

       

      

参考资料:

图片来源:

https://www.pexels.com/search/homework/

参考来源:

https://codeload.github.com/xiaobh2010/-python-/zip/master

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值