分享

Python制作学生成绩管理系统

 copy_left 2022-01-05
图片
图片

好久没更新python应用分享了,感谢各位微友的关注,人生苦短,python为伴,希望大家喜欢。

今天,梅朵将给大家演示如何用Python制作一个简单的学生成绩管理系统。

图片
Python制作学生成绩管理系统

图片

图片
制作技巧

1.定义变量

(1)定义交互输入变量

主要用于展示学生成绩管理系统的操作界面。

(2)定义学生成绩信息变量

主要用于学生成绩信息的存取。

s_info = '''*****************************************************
【学生成绩管理系统】 q. 退出学生成绩系统 1. 显示学生成绩信息 2. 新建学生成绩信息 3. 查询学生成绩信息 4. 删除学生成绩信息 5. 修改学生成绩信息 ******************************************************'''    students=[]

2.读取学生成绩信息

主要是从TXT文件中读取学生成绩信息,并保存到学生成绩变量中。

    f=open('students.txt','r+')    for st in f.readlines():        students.append(eval(st))    f.close()

3.循环等待操作指令并执行

主要是循环等待输入的学生管理系统操作指令,获取到操作指令后执行对学生成绩信息的显示、新建、查询、删除、修改操作。

while True: print(s_info) handle = input('请选择你要的操作选项:') if handle == 'q': print('q. 退出系统') break elif handle == '1': s_display(students) elif handle == '2': s_new(students) elif handle == '3': s_find(students) elif handle == '4': s_delect(students) elif handle == '5': s_modify(students) else: print('请输入正确的操作选项!')

4.编写操作指令执行函数

(1)显示学生成绩信息函数

主要功能是显示所有学生成绩信息。

def s_display(students):        print('1. 显示全部信息')        print('姓名\t语文\t数学\t英语\t总分')        for stu in students:            print(f'{stu['name']}\t{stu['chinese']}\t{stu['math']}\t{stu['english']}\t{stu['total']}')

(2)新建学生成绩信息函数

主要是新建学生成绩信息,并更新保存学生成绩信息的文件。

def s_new(students): print('2. 新建学生信息') name = str(input('请输入学生的姓名:')) chinese = int(input('请输入学生的语文成绩:')) math = int(input('请输入学生的数学成绩:')) english = int(input('请输入学生的英语成绩:')) total = chinese + math + english stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total} students.append(stu) s_write_to_file(students)

(3)查询学生成绩信息函数

主要是查询给定姓名的学生成绩信息。

def s_find(students):        print('3. 查询学生信息')        name = input('请输入你要查询学生的姓名:')        for stu in students:            if name == stu['name']:                print('姓名\t语文\t数学\t英语\t总分')                print(f'{stu['name']}\t{stu['chinese']}\t{stu['math']}\t{stu['english']}\t{stu['total']}')                break        else:            print('该学生不存在, 请检查名字是否输入正确!')        s_write_to_file(students)

(4)删除学生成绩信息函数

主要是删除给定姓名的学生成绩信息,并更新保存学生成绩信息的文件。

def s_delect(students): print('4. 删除学生信息') name = input('请输入你要删除学生的姓名:') for stu in students: if name == stu['name']: students.remove(stu) break else: print('该学生不存在, 请检查名字是否输入正确!') s_write_to_file(students)

(5)修改学生成绩信息函数

主要是修改给定姓名的学生成绩信息,并更新保存学生成绩信息的文件。

def s_modify(students):        print('5. 修改学生信息')        name = input('请输入你要修改学生的姓名:')        for stu in students:            if name == stu['name']:                print('(如果不想修改,直接回车!)')                name = input('请重新输入学生的姓名:')                chinese = input('请重新输入学生的语文成绩:')                math = input('请重新输入学生的数学成绩:')                english = input('请重新输入学生的英语成绩:')                if name:                    stu['name'] = str(name)                if chinese:                    stu['chinese'] = int(chinese)                if math:                    stu['math'] = int(math)                if english:                    stu['english'] = int(english)                stu['total'] = stu['chinese'] + stu['math'] + stu['english']                break        else:            print('该学生不存在, 请检查名字是否输入正确!')        s_write_to_file(students)

5.保存学生成绩信息函数

主要实现学生成绩信息的保存更新。

def s_write_to_file(students): f=open('students.txt','r+') for s in students: f.write(str(s)+'\n') f.close()

完整源代码

def s_write_to_file(students):        f=open('students.txt','r+')        for s  in students:            f.write(str(s)+'\n')        f.close()
def s_display(students): print('1. 显示全部信息') print('姓名\t语文\t数学\t英语\t总分') for stu in students: print(f'{stu['name']}\t{stu['chinese']}\t{stu['math']}\t{stu['english']}\t{stu['total']}')
def s_new(students): print('2. 新建学生信息') name = str(input('请输入学生的姓名:')) chinese = int(input('请输入学生的语文成绩:')) math = int(input('请输入学生的数学成绩:')) english = int(input('请输入学生的英语成绩:')) total = chinese + math + english stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total} students.append(stu) s_write_to_file(students) def s_find(students): print('3. 查询学生信息') name = input('请输入你要查询学生的姓名:') for stu in students: if name == stu['name']: print('姓名\t语文\t数学\t英语\t总分') print(f'{stu['name']}\t{stu['chinese']}\t{stu['math']}\t{stu['english']}\t{stu['total']}') break else: print('该学生不存在, 请检查名字是否输入正确!') s_write_to_file(students)
def s_delect(students): print('4. 删除学生信息') name = input('请输入你要删除学生的姓名:') for stu in students: if name == stu['name']: students.remove(stu) break else: print('该学生不存在, 请检查名字是否输入正确!') s_write_to_file(students)
def s_modify(students): print('5. 修改学生信息') name = input('请输入你要修改学生的姓名:') for stu in students: if name == stu['name']: print('(如果不想修改,直接回车!)') name = input('请重新输入学生的姓名:') chinese = input('请重新输入学生的语文成绩:') math = input('请重新输入学生的数学成绩:') english = input('请重新输入学生的英语成绩:') if name: stu['name'] = str(name) if chinese: stu['chinese'] = int(chinese) if math: stu['math'] = int(math) if english: stu['english'] = int(english) stu['total'] = stu['chinese'] + stu['math'] + stu['english'] break else: print('该学生不存在, 请检查名字是否输入正确!') s_write_to_file(students)
if __name__=='__main__': s_info = '''*****************************************************
【学生成绩管理系统】 q. 退出学生成绩系统 1. 显示学生成绩信息 2. 新建学生成绩信息 3. 查询学生成绩信息 4. 删除学生成绩信息 5. 修改学生成绩信息 ******************************************************''' students=[] f=open('students.txt','r+') for st in f.readlines(): students.append(eval(st)) f.close() while True: print(s_info) handle = input('请选择你要的操作选项:') if handle == 'q': print('q. 退出系统') break elif handle == '1': s_display(students) elif handle == '2': s_new(students) elif handle == '3': s_find(students) elif handle == '4': s_delect(students) elif handle == '5': s_modify(students) else: print('请输入正确的操作选项!')

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约