Python课程设计之学生信息管理系统

这篇具有很好参考价值的文章主要介绍了Python课程设计之学生信息管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求分析

Python课程设计之学生信息管理系统

系统设计

Python课程设计之学生信息管理系统
Python课程设计之学生信息管理系统

主函数设计

Python课程设计之学生信息管理系统
Python课程设计之学生信息管理系统
核心代码

def main():
    while True:
        menu()
        choice=int(input('请选择:'))
        if choice in [0,1,2,3,4,5,6,7]:
            if choice==0:
                answer=input('您确定要退出系统吗? y or n')
                if answer=='y' or answer=='Y':
                    print('谢谢您的使用!!!')
                    break # 退出系统
                else:
                    continue
            elif choice==1:
                insert() #录入学生信息
            elif choice==2:
                search() #查找学生信息
            elif choice==3:
                delete() #删除学生信息
            elif choice==4:
                modify() #修改学生信息
            elif choice==5:
                sort() #排序
            elif choice==6:
                total() #统计学生总人数
            elif choice==7:
                show() #统计学生总人数

#菜单
def menu():
    print('----------------学生信息管理系统----------------------')
    print('-------------------功能菜单-------------------------')
    print('\t\t\t\t 1.录入学生信息')
    print('\t\t\t\t 2.查找学生信息')
    print('\t\t\t\t 3.删除学生信息')
    print('\t\t\t\t 4.修改学生信息')
    print('\t\t\t\t 5.排序')
    print('\t\t\t\t 6.统计学生总人数')
    print('\t\t\t\t 7.显示所有学生信息')
    print('\t\t\t\t 0.退出系统')
    print('----------------------------------------------------')

运行效果
Python课程设计之学生信息管理系统

录入学生信息

Python课程设计之学生信息管理系统
Python课程设计之学生信息管理系统

核心代码

#录入学生信息
def insert():
    student_list=[]
    while True:
        id=input('请输入ID(如1001):')
        if not id:
            break
        name=input('请输入姓名:')
        if not name:
            break

        try:
            math=int(input('请输入数学成绩:'))
            english=int(input('请输入英语成绩:'))
            chinese=int(input('请输入语文成绩:'))
        except:
            print('输入无效,不是整数类型,请重新输入')
            continue
        #将录入的学生信息保存到字典中
        student={'id':id,'name':name,'math':math,'english':english,'chinese':chinese}
        #将学生信息添加到学生列表中
        student_list.append(student)
        answer=input('是否继续添加学生信息?y or n \n')
        if answer=='y':
            continue
        else:
            break

    #调用save()函数
    save(student_list)
    print('学生信息录入完毕!!!')

#保存学生信息
def save(lst):
    try:
        stu_txt=open(filename,'a',encoding='utf-8')
    except:
        stu_txt=open(filename,'w',encoding='utf-8')
    for item in lst:
        stu_txt.write(str(item)+'\n')
    stu_txt.close()

运行效果
Python课程设计之学生信息管理系统

删除学生信息

Python课程设计之学生信息管理系统
Python课程设计之学生信息管理系统
核心代码

#删除学生信息
def delete():
    while True:
        student_id=input('请输入需要删除的学生的ID:')
        if student_id !='':
            if os.path.exists(filename):
                with open(filename,'r',encoding='utf-8') as file:
                    student_old=file.readlines()
            else:
                student_old=[]
            flag=False  #标记是否删除
            if student_old:
                with open(filename,'w',encoding='utf-8') as wfile:
                    d={}   #定义空字典
                    for item in student_old:
                        d=dict(eval(item)) #将字符串转成字典
                        if d['id'] != student_id:
                            wfile.write(str(d)+'\n')
                        else:
                            flag=True
                    if flag:
                        print(f'ID为{student_id}的学生信息已被删除!')
                    else:
                        print(f'没有找到ID为{student_id}的学生信息!')
            else:
                print('系统内无学生信息!')
                break
            show()  #删除信息后展示系统内学生信息
            answer=input('是否继续删除? y or n \n')
            if answer=='y':
                continue
            else:
                break

运行效果
Python课程设计之学生信息管理系统

修改学生信息

Python课程设计之学生信息管理系统
Python课程设计之学生信息管理系统
核心代码

#修改学生信息
def modify():
    show()
    if os.path.exists(filename):
        with open(filename,'r',encoding='utf-8') as rfile:
            student_old=rfile.readlines()
    else:
        return
    student_id=input('请输入要修改的学生的ID:')
    with open(filename,'w',encoding='utf-8') as wfile:
        for item in student_old:
            d=dict(eval(item))
            if d['id']==student_id:
                print('找到学生信息,可以进行修改该学生的相关信息了!')
                while True:
                    try:
                        d['name']=input('请输入姓名:')
                        d['math'] = input('请输入数学成绩:')
                        d['english'] = input('请输入英语成绩:')
                        d['chinese'] = input('请输入语文成绩:')
                    except:
                        print('您的输入有误,请重新输入!')
                    else:
                        break
                wfile.write(str(d) + '\n')
                print('修改成功!!!')
            else:
                wfile.write(str(d)  + '\n')
        answer=input('是否需要继续修改其他学生信息? y or n \n')
        if answer=='y':
            modify()

运行效果
Python课程设计之学生信息管理系统

查找学生信息

Python课程设计之学生信息管理系统
Python课程设计之学生信息管理系统

核心代码

#查找学生信息
def search():
    student_query=[]
    while True:
        id=''
        name=''
        if os.path.exists(filename):
            mode=input('按ID查找请输入1,按姓名查找请输入2:')
            if mode=='1':
                id=input('请输入学生ID:')
            elif mode=='2':
                name=input('请输入学生姓名:')
            else:
                print('您的输入有误,请重新输入!')
                search()
            with open(filename,'r',encoding='utf-8') as rfile:
                student=rfile.readlines()
                for item in student:
                    d=dict(eval(item))
                    if id != '':
                        if d['id']==id:
                            student_query.append(d)
                    elif name != '':
                        if d['name']==name:
                            student_query.append(d)
            #显示查询结果
            show_student(student_query)
            #清空列表
            student_query.clear()
            answer=input('是否要继续查询? y or n \n')
            if answer=='y':
                continue
            else:
                break
        else:
            print('暂未保存学生信息!')
            return

def show_student(lst):
    if len(lst)==0:
        print('没有查询到学生信息,无数据显示!!!')
        return

    #定义标题显示格式
    format_title='{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^6}\t{:^6}'
    print(format_title.format('ID','姓名','数学成绩','英语成绩','语文成绩','总成绩'))
    #定义内容显示格式
    format_data='{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^14}\t{:^8}'
    for item in lst:
        print(format_data.format(item.get('id'),
                                  item.get('name'),
                                  item.get('math'),
                                  item.get('english'),
                                  item.get('chinese'),
                                  int(item.get('math'))+int(item.get('english'))+int(item.get('chinese'))))

运行效果
Python课程设计之学生信息管理系统

统计学生总人数

Python课程设计之学生信息管理系统
Python课程设计之学生信息管理系统
核心代码

#统计学生总人数
def total():
    if os.path.exists(filename):
        with open(filename,'r',encoding='utf-8') as rfile:
            students=rfile.readlines()
            if students:
                print(f'一共有{len(students)}名学生!')
            else:
                print('还没有录入学生信息!')
    else:
        print('暂未保存数据信息.....')

运行效果
Python课程设计之学生信息管理系统

显示所有学生信息

Python课程设计之学生信息管理系统
Python课程设计之学生信息管理系统
核心代码

#展示所有学生信息
def show():
    student_lst=[]
    if os.path.exists(filename):
        with open(filename,'r',encoding='utf-8') as rfile:
            students=rfile.readlines()
            for item in students:
                student_lst.append(eval(item))
            if student_lst:
                show_student(student_lst)
    else:
        print('暂未保存过数据!!!!')

运行效果
Python课程设计之学生信息管理系统

排序模块

Python课程设计之学生信息管理系统
Python课程设计之学生信息管理系统
核心代码

#排序
def sort():
    show()
    if os.path.exists(filename):
        with open(filename,'r',encoding='utf-8') as rfile:
            student_list=rfile.readlines()
        student_new=[]
        for item in student_list:
            d=dict(eval(item))
            student_new.append(d)
    else:
        return
    asc_or_desc=input('请选择排序方式,1.升序  2.降序 :')
    if asc_or_desc=='1':
        asc_or_desc_bool=False
    elif asc_or_desc=='2':
        asc_or_desc_bool=True
    else:
        print('您的输入有误,请重新输入 :')
        sort()
    mode=input('请选择排序方式,1.按数学成绩排序  2.按英语成绩排序  3.按语文成绩排序  4.按总成绩排序 :')
    if mode=='1':
        student_new.sort(key=lambda x:int(x['math']),reverse=asc_or_desc_bool)
    elif mode=='2':
        student_new.sort(key=lambda x:int(x['english']),reverse=asc_or_desc_bool)
    elif mode=='3':
        student_new.sort(key=lambda x:int(x['chinese']),reverse=asc_or_desc_bool)
    elif mode=='4':
        student_new.sort(key=lambda x:int(x['math'])+int(x['english'])+int(x['chinese']),reverse=asc_or_desc_bool)
    else:
        print('您的输入有误,请重新输入:')
        sort()
    show_student(student_new)

运行效果
Python课程设计之学生信息管理系统

项目所有源码下载地址

点击下载文章来源地址https://www.toymoban.com/news/detail-513128.html

到了这里,关于Python课程设计之学生信息管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 面向对象程序设计(Java)课程设计——学生信息管理系统(GUI+文件)

    一、团队成员及任务 组长:宗庆亮  计科(智能)22-1  202203200021 负责模块:静态登录界面实现以及学生信息系统管理界面的创建 组员:郑金洲  计科(智能)22-1  202203200022 负责模块:增加,删除,修改以及查询功能的实现 团队博客:面向对象程序设计(Java)课程设计——学生

    2024年02月03日
    浏览(43)
  • 数据库课程设计——学生信息管理系统C#,SQL Sever

    目录 利用SQL Sever和 VS C#实现 一、程序流程图 二、具体实现:利用SQL Sever和 VS实现,使用C#连接数据库 1、新建一个名为MySchool的数据库​​​​​​​ 2、C#连接数据库,并实现对MySchool数据库的增、删、改、查操作 (1)主界面  (2)学生登录页面 (3)个人主页 (4)注册页

    2024年01月18日
    浏览(36)
  • 数据库课程设计——学生信息管理系统(Sqlserver,C#,Winform)

    目录 需求分析 一.登录功能 二.注册功能 三.管理员登录后跳转到功能页面: 四.学生信息管理(主界面,删除功能在主界面代码中) 五.学生信息添加和修改(设计在一个页面上,修改需要选中行) 六.课程信息管理(删除功能在主界面中)  七.课程信息添加和修改  八.成绩

    2024年02月02日
    浏览(39)
  • C语言课程设计:学生成绩信息管理系统(排序、平均分、总分)详解

    1、需求分析 利用C语言编写一个可以对学生成绩信息进行管理的系统 0、退出系统 1、录入学生信息和成绩 2、打印学生信息 3、统计学生人数 4、查找学生信息 5、修改学生信息 6、删除学生信息 7、排序学生成绩 8、生成学生信息文件 9、读取文件学生信息 10、输出各科成绩不

    2024年02月11日
    浏览(36)
  • 前端三大件html,css,js原生实现学生信息管理系统(课程设计)

      目录结构如该图所示,只要将文件命名成图上三种。代码即可正常运行。分别有三个文件,一个是app.js,放学生信息删除添加查询主要逻辑代码。login.html放登录页面样式以及相关逻辑。studentList.html 放置学生管理的页面。 运行效果图:   代码:  app.js login页面 studentList.

    2024年02月04日
    浏览(47)
  • 基于Python 课程设计-学生管理系统(附源码+可执行程序)

    基于Python 课程设计-学生管理系统(附源码+可执行程序) 非常完整的一个项目,可以作为课程设计去学习。 本系统的完整源码在文章结尾处,大家自行获取即可。 本系统的软件开发及运行环境具体如下。 操作系统:Windows 7、Windows 10。 Python版本:Python 3.7.0。 开发工具

    2024年02月06日
    浏览(44)
  • Python毕业设计|课程设计|基于Python+Django实现的学生成绩管理系统

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路  关注作者有好处 文末获取源码   语言环境:Python3.7 数据库:

    2024年02月10日
    浏览(35)
  • python课程设计——Django+vue信息管理系统

    python课程设计 之Django+vue2 文章目录 系列文章目录 前言 一、 信息管理系统的具体设计 二、 信息管理系统测试效果 三、结语 总结 python课程设计——Django+vue2 1 Django平台整体构建 一个完整的Django项目通常需要划分出很多不同的子模块进行设计,采用模块设计可以使得分工更加

    2024年02月05日
    浏览(43)
  • 基于python的学生信息管理系统的设计与实现

    小白学python,做了一个基础小系统,给大家分享一下(欢迎大神指导) 目录 步骤 1.设计要求 2.设计步骤 (1)导入os模块,创建一个文件夹用于存储数据  (2)定义一个菜单函数 (3)实现学生信息的录入功能 (4)定义了一个save函数用于录入功能的调用 (5)查询功能的实现

    2024年02月09日
    浏览(47)
  • 课程设计:商品零售信息管理系统(Python+MySQL+Tinker实现)

    本文为基于Python的商品零售管理系统,数据库采用MySQL,前端UI界面采用Tinker。 文内包含了从数据库到业务逻辑相关的所有的可运行代码。 商品销售信息管理系统主要用于对商品信息的管理,包括客户端和管理端两部分,分别涉及商品购买和各类信息的处理。 学生根据所学的

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包