欢迎加入我们卧虎藏龙的python讨论qq群:996113038
┉┉┉┉┉┉ 『导语』 ┉┉┉┉┉┉
盼望着,盼望着
四月的尾巴来了
期中考试的脚步也近了
···
即使是还待在家的大学生
也难逃期中考试的魔爪
可能其他科目线上考试还是有困难的
但对于计算机课来说
听说很多学python的同学期中都是大作业形式
本期我们将为大家讲解一下常见的一个大作业
“Python成绩管理系统”
说不定这就是你的考试题呢
来一起看看叭
¨¨¨『代码及相关资源获取』¨¨¨
1:关注“python趣味爱好者”公众号,回复“ game28 ”获取源代码。
2:加入群聊:996113038。在群文件中下载源代码以及相关资料。
效果演示:
开发工具:
python3.6.4
相关第三方库:不需要第三方库
往期精选:
讲解部分:
大家可以看到,我们是根据输入数字来选择功能,选择数字以后就进行相关的操作。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