学生成绩管理系统(python)的实现

Posted 把错误挂在墙上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学生成绩管理系统(python)的实现相关的知识,希望对你有一定的参考价值。

学生成绩管理系统功能:增.删.改.查.排序.这五个部份组成.均由单独的函数完成.其中信息的存取均以字典形式表达.

 

#student_info.py

#插入学生信息
def  input_student():
    infos=[]
    while True:
        n=input("请输入学生姓名:")
        if not n:
            break
        a=int(input("请输入年龄:"))
        s=int(input("请输入成绩:"))
        d={\'name\':n,\'age\':a,\'score\':s} #d=dict(name=n,age=a,score=s)
        infos.append(d)  #将字典数据添加到列表中
    return infos
#显示信息
def output_student(L):
    print("+------------+------------+------------+")
    print("|    姓名    |    年龄    |    成绩    |")
    print("+------------+------------+------------+")
    for  d in L: #绑定字典
        n=d[\'name\']
        a=d[\'age\']
        s=d[\'score\']
        n=str(n)
        a=str(a) #将整型转换成字符串
        s=str(s)
        print("|"+n.center(12)+"|"+a.center(12)+"|"+s.center(12)+"|")
    print("+------------+------------+------------+")
#删除信息
def delete_student(L):
    name=input(print("请输入要删除的学生姓名:"))
    i=0
    while i<len(L):
        if L[i][\'name\']==name:
            del L[i]
            print("学生"+name+"删除成功")
            return True
        elif i>=len(L)-1:
            print("学生"+name+"不存在")
            return False
        i+=1
#修改学生成绩
def modify_student_score(L):
    n=input("请输入要修改的学生姓名:")
    i=0
    while i<len(L):
        if L[i][\'name\']==n:
            L[i][\'score\']=input("请输入新成绩:")
            print("修改成绩OK")
            return True
        elif i>=len(L)-1:
            print(name+"学生不存在,不能修改")
            return False
        i+=1
#by学生成绩排序
def output_student_score_desc(L):
    lis=sorted(L,key=lambda d:d[\'score\'],reverse=True)
    output_student(lis)
def output_student_score_asc(L):
    lis=sorted(L,key=lambda d:d[\'score\'],reverse=False)
    output_student(lis)
#by学生年龄排序
def output_student_age_desc(L):
    lis=sorted(L,key=lambda d:d[\'age\'],reverse=True)
    output_student(lis)
def output_student_age_asc(L):
    lis=sorted(L,key=lambda d:d[\'age\'],reverse=False)
    output_student(lis)
#解释说明:
#sorted(iterable,key=None,reverse=False) 函数作用是将原可迭代对象排序,生成新的列表
#单步测试
# l=[]
# l+=input_student()
# output_student(l)

# menu.py
def show_menu():
    print("+--------------------------------+")
    print("| 1) 添加学生信息                |")
    print("| 2) 查看学生信息                |")
    print("| 3) 删除学生信息                |")
    print("| 4) 修改学生成绩                |")
    print("| 5) 按学生成绩高-低显示学生信息 |")
    print("| 6) 按学生成绩低-高显示学生信息 |")
    print("| 7) 按年龄成绩高-低显示学生信息 |")
    print("| 8) 按年龄成绩低-高显示学生信息 |")
    print("| q) 退出                        |")
    print("+--------------------------------+")

 

#main.py
from menu import show_menu
from student_info import *

def main():
    infos=[]
    while  True:
        show_menu()
        s=input("请选择:")
        if s==\'q\':
            return #退出
        elif s == \'1\':
            infos += input_student()
            # infos.extend(input_student())
        elif s == \'2\':
            output_student(infos)
        elif s == \'3\':
            delete_student(infos)
        elif s==\'4\':
            modify_student_score(infos)
        elif s==\'5\':
            output_student_score_desc(infos)
        elif s==\'6\':
            output_student_score_asc(infos)
        elif s==\'7\':
            output_student_age_desc(infos)
        elif s==\'8\':
            output_student_age_asc(infos)
main() #从主函数开始




 


 

以上是关于学生成绩管理系统(python)的实现的主要内容,如果未能解决你的问题,请参考以下文章

python超详细实现完整学生成绩管理系统

基于Python的学生成绩管理系统

用python编写的一个学生成绩管理系统

Python:学习成绩管理系统

Python课程设计:学生成绩管理系统(附源代码)

Python课程设计:学生成绩管理系统(附源代码)