一篇文章教你用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的类和对象,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 详解django的serializer序列化model几种方法

    详解django的serializer序列化model几种方法

    序列化是将对象状态转换为可保持或传输的格式的过程。这篇文章主要介绍了详解django的serializer序列化model几种方法。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Python元字符的用法实例解析

    Python元字符的用法实例解析

    这篇文章主要介绍了Python元字符的用法实例解析,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Django web框架使用url path name详解

    Django web框架使用url path name详解

    这篇文章主要介绍了Django web框架使用url path name详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Python包,__init__.py功能与用法分析

    Python包,__init__.py功能与用法分析

    这篇文章主要介绍了Python包,__init__.py功能与用法,结合实例形式分析了Python中包的概念、功能及__init__.py初始化相关操作技巧,需要的朋友可以参考下
    2020-01-01
  • pandas通过字典生成dataframe的方法步骤

    pandas通过字典生成dataframe的方法步骤

    这篇文章主要介绍了pandas通过字典生成dataframe的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python批量将图片灰度化的实现代码

    Python批量将图片灰度化的实现代码

    这篇文章主要介绍了Python批量将图片灰度化的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Python保存数据到文件的实现方式

    Python保存数据到文件的实现方式

    这篇文章主要介绍了Python保存数据到文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Python字符编码判断方法分析

    Python字符编码判断方法分析

    这篇文章主要介绍了Python字符编码判断方法,结合实例形式分析了Python字符编码的判断技巧,并给出了chardet的安装与使用方法,需要的朋友可以参考下
    2016-07-07
  • python进程池的简单实现

    python进程池的简单实现

    本文主要介绍了python进程池的简单实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论