一篇文章教你用Python实现一个学生管理系统

 更新时间:2021年09月10日 15:48:05   作者:玫瑰花店  
这篇文章主要为大家详细介绍了python实现学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

片头

Python看了差不多三四天吧,基本上给基础看差不多了。写个管理系统吧,后续不出意外SQL、文件存储版本都会更。
学习Python感想:

            人生苦短,我用Python
            人生苦短,我用Python
            人生苦短,我用Python
            人生苦短,我用Python

Python实在太爽了

源码:

使用Python3

'''
学生成绩管理系统
时间:2021.9.9
作者:sunbeam
'''
import time
import os
student_list = [] #定义一个列表类型全局变量
'''
列表里面存储所有学生信息,列表里面每个元素是一个字典,字典里面存放每一个学生的个人信息,存储结构如下
[(姓名1,年龄1,学号1,手机号码1),(姓名2,年龄2,学号2,手机号码2)......]
'''
def time_day():
        print()
        print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))

#主菜单界面
def std_menu():
    print("--------欢迎来到sunbeam的第一个python学生管理系统--------")
    print("       1、添加学生信息     2、删除学生信息     ")
    print("       3、查找学生信息     4、修改学生信息     ")
    print("       5、显示所有学生     6、退出系统        ")
    num=int(input("根据需求请输入对应的序号:"))
    return num
#添加学生信息
def std_add():
    while 1:
        std_name = input("请输入要添加的学生的姓名:")
        std_old = input("请输入要添加的学生的年龄:")
        std_id = input("请输入要添加的学生的学号:")
        std_tel = input("请输入要添加的学生的电话号码:")
        global student_list
        # 判断学生是否已存在,如果姓名和学号都重复说明学生存在
        for i in student_list:
            if (i['name'] == std_name) and (i['id'] == std_id):
                print("此学生信息已存在")
                return
        #如果学生信息不存在则添加学生信息
        std_message = {} #创建一个空的字典
        std_message['name']=std_name
        std_message['old']=std_old
        std_message['id']=std_id
        std_message['tel']=std_tel
        student_list.append(std_message)
        text=input("是否继续添加:YES or NO")
        if text=='NO':
            os.system('cls')
            break
        else:
            os.system('cls')
            continue
#查找学生信息
def std_find():
    flag=0
    while 1:
        find_name = input("请输入你要查询的学生的姓名:")
        global student_list
        for i in student_list:
            if (i['name'] == find_name):
                print("查询到如下学生:")
                print("-------------------")
                print(f"姓名:{i['name']}")
                print(f"年龄:{i['old']}")
                print(f"学号:{i['id']}")
                print(f"电话:{i['tel']}")
                print("-------------------")
                flag=1
        if flag==0:
            print("查无此人")
        lk=input("是否继续查找:YES or NO")
        if lk=="NO":
            os.system('cls')
            break
        else:
            os.system('cls')
            continue
#修改学生信息
def std_modify():
    while 1:
        find_name=input("请输入要修改的学生的学号:")
        global student_list
        for i in student_list:
            if (i['id']==find_name):
                print("你要修改的学生信息如下:")
                print("-------------------")
                print(f"姓名:{i['name']}")
                print(f"年龄:{i['old']}")
                print(f"学号:{i['id']}")
                print(f"电话:{i['tel']}")
                print('-----------------')
                while 1:
                    print(" 1、修改学生姓名   2、修改学生年龄 ")
                    print(" 3、修改学生学号   4、修改学生电话 ")
                    modify_num = int(input('请输入要修改的项目序号:'))
                    if modify_num==1:
                        modify_name=input("请输入要修改的学生的姓名:")
                        i['name']=modify_name
                    elif modify_num==2:
                        modify_old=input("请输入要修改的学生的年龄:")
                        i['old']=modify_old
                    elif modify_num==3:
                        modify_id=input("请输入要修改的学生的学号:")
                        i['id']=modify_id
                    else:
                        modify_tel=input("请输入要修改的学的生电话:")
                        i['tel']=modify_tel
                    print("是否继续修改当前学生信息:YES or NO")
                    print('---------------------')
                    modify_flag=input()
                    if modify_flag=="NO":
                        print("-----修改完成-----")
                        break
                    else:
                        continue
                break
        print("是否继续使用修改模块功能:YES or NO")
        lag=input()
        if lag=="YES":
            os.system('cls')
            continue
        else:
            os.system('cls')
            break
#显示所有学生信息
def std_all():
    global student_list
    print('姓名\t年龄\t学号\t电话')
    for i in student_list:
        print(f"{i['name']}\t{i['old']}\t{i['id']}\t{i['tel']}")
#删除函数
def std_delete():
    global student_list
    while 1:
        print("-----------------")
        del_num = input("请输入要删除的学生的学号:")
        for i in student_list:
            if (i['id'] == del_num):
                student_list.remove(i)
                print("删除成功")
                break
            else:
                print("查无此人")
        del_exit=input("是否退出:YES or NO")
        print("-----------------")
        if del_exit=='YES':
            os.system('cls')
            break
        else:
            os.system('cls')
            continue
while 1:
    time_day()
    user_num=std_menu()
    if user_num==1:
        std_add()
    elif user_num==2:
        std_delete()
    elif user_num==3:
        std_find()
    elif user_num==4:
        std_modify()
    elif user_num==5:
        std_all()
    elif user_num==6:
        os.system('cls')
        exit_flag=input("是否退出:YES or NO")
        if exit_flag=='YES':
            print("感谢使用,bey-bey")
            break
        else:
            continue
    else:
        print("输入无用序号,请输入菜单前序号。")

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • Python中列表复制的常用方法解析

    Python中列表复制的常用方法解析

    在Python编程中,经常需要对列表进行复制或克隆操作,以便保护原始数据或创建独立的副本,本文将详细介绍如何在Python中进行列表克隆,以及如何选择合适的方法来保护数据,希望对大家有所帮助
    2024-02-02
  • Python利用代码计算2个坐标之间的距离

    Python利用代码计算2个坐标之间的距离

    这篇文章主要介绍了Python利用代码计算2个坐标之间的距离,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python正则表达式非贪婪、多行匹配功能示例

    Python正则表达式非贪婪、多行匹配功能示例

    这篇文章主要介绍了Python正则表达式非贪婪、多行匹配功能,结合实例形式分析了Python正则表达式中非贪婪及多行匹配功能的实现方法与相关注意事项,需要的朋友可以参考下
    2017-08-08
  • Python使用urllib2模块抓取HTML页面资源的实例分享

    Python使用urllib2模块抓取HTML页面资源的实例分享

    这篇文章主要介绍了Python使用urllib2模块抓取HTML页面资源的实例分享,将要抓取的页面地址写在单独的规则列表中方便组织和重复使用,需要的朋友可以参考下
    2016-05-05
  • 关于Python中jieba库的使用

    关于Python中jieba库的使用

    这篇文章主要介绍了关于Python中jieba库的使用,jieba (“结巴”) 是 Python 中一个重要的第三方中文分词函数库,除了分词,jieba 还提供增加自定义中文单词的功能,需要的朋友可以参考下
    2023-04-04
  • Python中正反斜杠(‘/’和‘\’)的意义与用法

    Python中正反斜杠(‘/’和‘\’)的意义与用法

    这篇文章主要给大家介绍了关于Python中正反斜杠(‘/’和‘\’)的意义与使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Python实现利用163邮箱远程关电脑脚本

    Python实现利用163邮箱远程关电脑脚本

    这篇文章主要为大家详细介绍了Python实现利用163邮箱远程关电脑脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python自动化构建工具scons使用入门笔记

    Python自动化构建工具scons使用入门笔记

    这篇文章主要介绍了Python自动化构建工具scons使用入门笔记,本文讲解了安装scons、scons常用命令、scons使用示例等内容,需要的朋友可以参考下
    2015-03-03
  • 详解Python并发编程之从性能角度来初探并发编程

    详解Python并发编程之从性能角度来初探并发编程

    这篇文章主要介绍了详解Python并发编程之从性能角度来初探并发编程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python使用openpyxl模块处理Excel文件

    Python使用openpyxl模块处理Excel文件

    这篇文章介绍了Python使用openpyxl模块处理Excel文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论