博客
关于我
Python实现学生成绩信息管理系统小程序,零基础必学!
阅读量:231 次
发布时间:2019-03-01

本文共 7574 字,大约阅读时间需要 25 分钟。

写在前面

  今天使用序列数据(字典、列表、元组等)实现一个简单的学生成绩信息管理小程序,分享给大家,希望能够对你们有所帮助~

一、需求分析

1.建立可选菜单能够选择添加信息、删除信息、查询信息和退出系统等功能

2.实现添加学生成绩信息
3.实现删除学生成绩信息
4.实现查询学生成绩信息
5.实现退出系统

下面带大家看一下最终的展示效果:

二、编程思路

  对于一个成绩单我们使用一个名为infos的列表存储,列表的每一项包括同学的姓名、成绩和分数。使用字典存储每一个同学的成绩。

三、实现过程

  首先定义存储所有成绩的列表和存储每个学生信息的字典。

infos=[]#成绩列表的集合person_info={"姓名":"","python":"","英语":""}##字典存储个人信息12

1.添加学生信息

  每个学生的信息存在一个字典中,因此增加信息的过程即是遍历字典的项,并为每项增加值的过程。

def addInfo():#添加学生信息    for key,value in person_info.items():#Python 字典 items() 方法以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回可遍历的(键, 值) 元组数组。        if key=="姓名":            person_info[key]=input("请输入[%s]:"%(key))        else:            person_info[key] = input("请输入[%s]课程的成绩:" % (key))    infos.append(person_info.copy())#将学生成绩信息放入列表中12345678

2.显示学生信息

  显示信息的时候首先要判断列表是否为空,如果不为空的话,我们进行下边的操作。定义一个标志位去判断表头是否被打印出来了,最后打印学生信息。

def displayInfo():#显示学生信息    if len(infos)==0:#列表为空        print("当前还没有学生信息")    else:        #显示列表中的数据        flag=False #未显示表头        for info in infos:            if flag==False: #打印表头                for key in info.keys():                    print("%-15s"%(key),end='')#格式化输出,右缩进15个字符                print("\n*************************************")                flag=True#已经打印过表头            for value in info.values():                print("%-15s"%(value),end='')            print()123456789101112131415

3.删除学生信息

  和上边查询类似先判断列表是否为空,不为空时输入要删除的学生姓名(用一个name变量接收这个值),删除的过程即是对字典的键进行访问,如果name变量接收的值与字典中的姓名值相同那么就在列表中删除该项。

def delInfo():#删除学生信息    if len(infos) == 0:  # 列表为空        print("当前还没有学生信息")    else:        name = input("请输入要删除的学生姓名:")        i=0 ##保存已删除的行数        for info in infos:            if name == info["姓名"]:                infos.remove(info)#如果存在,就将该列表项从列表的集合中删除                i=i+1 #记录已经删除的条目数        if i==0:            print(name,"查无此人!",end="\n")        else:            print("删除成功")1234567891011121314

以上就是本程序的核心函数,为了实现多次增删查功能,我们还需要定义一个功能菜单,并用while循环将所有函数写进去,完整代码在下边给出。

四、完整代码

infos=[]#成绩列表的集合person_info={"姓名":"","python":"","英语":""}##字典存储个人信息menustr="""----------------------成绩管理----------------------    1.添加学生成绩信息(姓名、成绩)    2.删除学生成绩信息    3.查询所有学生成绩    0.退出系统"""def outputMenu():    print(menustr)def addInfo():#添加学生信息    for key,value in person_info.items():#Python 字典 items() 方法以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回可遍历的(键, 值) 元组数组。        if key=="姓名":            person_info[key]=input("请输入[%s]:"%(key))        else:            person_info[key] = input("请输入[%s]课程的成绩:" % (key))    infos.append(person_info.copy())#将学生成绩信息放入列表中def displayInfo():#显示学生信息    if len(infos)==0:#列表为空        print("当前还没有学生信息")    else:        #显示列表中的数据        flag=False #未显示表头        for info in infos:            if flag==False: #打印表头                for key in info.keys():                    print("%-15s"%(key),end='')#格式化输出,右缩进15个字符                print("\n*************************************")                flag=True#已经打印过表头            for value in info.values():                print("%-15s"%(value),end='')            print()def delInfo():#删除学生信息    if len(infos) == 0:  # 列表为空        print("当前还没有学生信息")    else:        name = input("请输入要删除的学生姓名:")        i=0 ##保存已删除的行数        for info in infos:            if name == info["姓名"]:                infos.remove(info)#如果存在,就将该列表项从列表的集合中删除                i=i+1 #记录已经删除的条目数        if i==0:            print(name,"查无此人!",end="\n")        else:            print("删除成功")while True:    outputMenu()    code=input("请输入操作码")    if code=='1':        addInfo()    elif code=='2':        delInfo()    elif code=='3':        displayInfo()    elif code=='0':        print("程序结束!")        break    else:        print("您输入的操作码有误,请重新输入")1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

引用源自

中国MOOC Python编程基础 https://www.icourse163.org/course/HBRJ-1206206801

一、需求分析

1.建立可选菜单能够选择添加信息、删除信息、查询信息和退出系统等功能

2.实现添加学生成绩信息
3.实现删除学生成绩信息
4.实现查询学生成绩信息
5.实现退出系统

下面带大家看一下最终的展示效果:

二、编程思路

  对于一个成绩单我们使用一个名为infos的列表存储,列表的每一项包括同学的姓名、成绩和分数。使用字典存储每一个同学的成绩。

三、实现过程

  首先定义存储所有成绩的列表和存储每个学生信息的字典。

infos=[]#成绩列表的集合person_info={"姓名":"","python":"","英语":""}##字典存储个人信息12

1.添加学生信息

  每个学生的信息存在一个字典中,因此增加信息的过程即是遍历字典的项,并为每项增加值的过程。

def addInfo():#添加学生信息    for key,value in person_info.items():#Python 字典 items() 方法以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回可遍历的(键, 值) 元组数组。        if key=="姓名":            person_info[key]=input("请输入[%s]:"%(key))        else:            person_info[key] = input("请输入[%s]课程的成绩:" % (key))    infos.append(person_info.copy())#将学生成绩信息放入列表中12345678

2.显示学生信息

  显示信息的时候首先要判断列表是否为空,如果不为空的话,我们进行下边的操作。定义一个标志位去判断表头是否被打印出来了,最后打印学生信息。

def displayInfo():#显示学生信息    if len(infos)==0:#列表为空        print("当前还没有学生信息")    else:        #显示列表中的数据        flag=False #未显示表头        for info in infos:            if flag==False: #打印表头                for key in info.keys():                    print("%-15s"%(key),end='')#格式化输出,右缩进15个字符                print("\n*************************************")                flag=True#已经打印过表头            for value in info.values():                print("%-15s"%(value),end='')            print()123456789101112131415

3.删除学生信息

  和上边查询类似先判断列表是否为空,不为空时输入要删除的学生姓名(用一个name变量接收这个值),删除的过程即是对字典的键进行访问,如果name变量接收的值与字典中的姓名值相同那么就在列表中删除该项。

def delInfo():#删除学生信息    if len(infos) == 0:  # 列表为空        print("当前还没有学生信息")    else:        name = input("请输入要删除的学生姓名:")        i=0 ##保存已删除的行数        for info in infos:            if name == info["姓名"]:                infos.remove(info)#如果存在,就将该列表项从列表的集合中删除                i=i+1 #记录已经删除的条目数        if i==0:            print(name,"查无此人!",end="\n")        else:            print("删除成功")1234567891011121314

以上就是本程序的核心函数,为了实现多次增删查功能,我们还需要定义一个功能菜单,并用while循环将所有函数写进去,完整代码在下边给出。

四、完整代码

infos=[]#成绩列表的集合person_info={"姓名":"","python":"","英语":""}##字典存储个人信息menustr="""----------------------成绩管理----------------------    1.添加学生成绩信息(姓名、成绩)    2.删除学生成绩信息    3.查询所有学生成绩    0.退出系统"""def outputMenu():    print(menustr)def addInfo():#添加学生信息    for key,value in person_info.items():#Python 字典 items() 方法以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回可遍历的(键, 值) 元组数组。        if key=="姓名":            person_info[key]=input("请输入[%s]:"%(key))        else:            person_info[key] = input("请输入[%s]课程的成绩:" % (key))    infos.append(person_info.copy())#将学生成绩信息放入列表中def displayInfo():#显示学生信息    if len(infos)==0:#列表为空        print("当前还没有学生信息")    else:        #显示列表中的数据        flag=False #未显示表头        for info in infos:            if flag==False: #打印表头                for key in info.keys():                    print("%-15s"%(key),end='')#格式化输出,右缩进15个字符                print("\n*************************************")                flag=True#已经打印过表头            for value in info.values():                print("%-15s"%(value),end='')            print()def delInfo():#删除学生信息    if len(infos) == 0:  # 列表为空        print("当前还没有学生信息")    else:        name = input("请输入要删除的学生姓名:")        i=0 ##保存已删除的行数        for info in infos:            if name == info["姓名"]:                infos.remove(info)#如果存在,就将该列表项从列表的集合中删除                i=i+1 #记录已经删除的条目数        if i==0:            print(name,"查无此人!",end="\n")        else:            print("删除成功")while True:    outputMenu()    code=input("请输入操作码")    if code=='1':        addInfo()    elif code=='2':        delInfo()    elif code=='3':        displayInfo()    elif code=='0':        print("程序结束!")        break    else:        print("您输入的操作码有误,请重新输入")1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

引用源自

中国MOOC Python编程基础 https://www.icourse163.org/course/HBRJ-1206206801

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

 

转载地址:http://zdwv.baihongyu.com/

你可能感兴趣的文章
Nacos基础版 从入门到精通
查看>>
Nacos如何实现Raft算法与Raft协议原理详解
查看>>
Nacos安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
Nacos实战攻略:从入门到精通,全面掌握服务治理与配置管理!(上)
查看>>
Nacos实战攻略:从入门到精通,全面掌握服务治理与配置管理!(下)
查看>>
Nacos心跳机制实现快速上下线
查看>>
nacos报错com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
查看>>
nacos服务提供和发现及客户端负载均衡配置
查看>>
Nacos服务注册与发现demo
查看>>
Nacos服务注册与发现的2种实现方法!
查看>>
nacos服务注册和发现原理简单实现案例
查看>>
Nacos服务注册总流程(源码分析)
查看>>
nacos服务注册流程
查看>>
Nacos服务部署安装
查看>>
nacos本地可以,上服务器报错
查看>>
Nacos注册Dubbo(2.7.x)以及namespace配置
查看>>
Nacos注册中心有几种调用方式?
查看>>
nacos注册失败,Feign调用失败,feign无法注入成我们的bean对象
查看>>
nacos源码 nacos注册中心1.4.x 源码 nacos源码如何下载 nacos 客户端源码下载地址 nacos discovery下载地址(一)
查看>>
nacos源码 nacos注册中心1.4.x 源码 spring cloud alibaba 的discovery做了什么 nacos客户端是如何启动的(二)
查看>>