文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

片头

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("输入无用序号,请输入菜单前序号。")

总结

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯