Python 学生信息管理系统【增删查改】

写点废话

写着玩意会让人回想起大一下期末被C语言课设——HN大学图书管理系统折磨的日子,虽然现在文件那章还是不会哈哈哈。
Python断断续续学了几天,今天试着写了下类似于图书馆的学生管理系统,依旧不是很轻松,(交互一度想用switch-case写xs),列表元组字典。。。。学的时候小简单,用起来是有点大乱。
啊,20:36了,今天还没运动,我的2.17-3.20 31天年后极速恢复计划!!!
跳绳去!
运动完看龙叔去!
886!

调试

没空写

源码

import time
#全局变量->学生信息库
stu_info=[]
#time库及格式输出
#台湾腔卡吉玛进度条效果
def StayWithMe():
    scale1=50
    start1=time.perf_counter()
    for i in range(scale1+1):
        a='*'*i
        b='.'*(scale1-i)
        c=(i/scale1)*100
        dur1=time.perf_counter()-start1
        print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur1),end=" ")
        time.sleep(0.13)
    time.sleep(1.5)
#主菜单界面
def Menu():
    print("欢迎来到海南大学学生管理系统".center(28,'*'))
    print("请选择功能".center(35,'-'))
    print("1.添加学员       2.删除学员".center(33,'.'))
    print("3.修改学员       4.查找学员".center(33, '.'))
    print("5.显示所有学员    6.退出系统".center(31, '.'))
    print('*'*40)
#添加学员->append(单个)、extend([多,个,])、insert(index,‘data’)
def AddStudent():
    #新增信息录入
    new_id=eval(input("请输入新增学生学号:"))
    new_name=input("请输入新增学生姓名:")
    #全局变量声明
    global stu_info
    #查重->与stu_info列表内查重
    for saved_info in stu_info:
        # 已存在->退出
        if new_name == saved_info['name'] or new_id==saved_info['ID'] :
            if new_name != saved_info['name'] or new_id != saved_info['ID']:
                print("学生部分信息重复,可能存在录入错误!")
                return
            if new_name == saved_info['name'] and new_id==saved_info['ID'] :
                print("该学生信息已存在!")
                return
    #不存在 学生信息入库
    stu_dict = {}
    stu_dict['ID'] = new_id
    stu_dict['name'] = new_name
    stu_info.append(stu_dict)
    print(f'{new_name}同学信息已成功录入!')
    print(stu_info)
#删除学员-> pop(默认最后)、remove('指定删除') del函数
def DeleteStudent():
    del_name=input("请输入删除学生姓名:")
    global stu_info
    for saved_info in stu_info:
        if del_name==saved_info['name']:
            #之前写成了remove(del_name),不匹配类型报错
            stu_info.remove(saved_info)
            print(f'{del_name}同学信息已删除')
            break
    #循环正常结束执行else 区别于C
    #如果此else与if配对,因break的存在就会出现逻辑错误
    else:
        print(f'未查找到{del_name}同学信息,无法删除')
#修改学员->
def ModifyStudent():
    modify_name = input("请输入修改学生姓名:")
    global stu_info
    for saved_info in stu_info:
        if modify_name == saved_info['name']:
            saved_info['ID']=eval(input("请输入修改后学生的ID:"))
            print(f'{modify_name}同学信息已修改')
            break
    else:
        print(f'未查找到{modify_name}同学信息,无法修改')
#查找学员->学号查找或姓名查找
def SearchStudent():
    choice=eval(input("姓名查找请按'1',学号查找请按'2':"))
    global stu_info
    if choice==1:
        search_name1 = input("请输入查找学生姓名:")
        for saved_info in stu_info:
            if search_name1 == saved_info['name']:
                search_id1=saved_info['ID']
                print(f'{search_name1}同学学号为{search_id1}')
                break
        else:
            print(f'未查找到{search_name1}同学信息')
    if choice==2:
        #没写eval搞成字符型的了 吐血
        search_id2 = eval(input("请输入查找学生ID:"))
        for saved_info in stu_info:
            if search_id2 == saved_info['ID']:
                search_name2=saved_info['name']
                print(f'{search_name2}同学学号为{search_id2}')
                break
        else:
            print(f'未查找到学号为{search_id2}同学的个人信息')
#显示所有学员->遍历 enumerate()的使用
def BrowseAllStudent():
    for index, item in enumerate(stu_info, 1):
        print(f" 序号           姓名           学号")
        print(f"  {index}            {item['name']}            {item['ID']}")
#交互界面
def FuncSelcet():
    while True:
        Menu()
        user_choice = eval(input("请输入您的选择:"))
        if user_choice not in range(1, 6):
            if user_choice==6:
                time.sleep(0.5)
                print("森么?您要退出?55555")
                time.sleep(1.5)
                print("不要酱紫啦,给您6.99s重新考虑一下下,不要离开我555!")
                time.sleep(3)
                StayWithMe()
                print()
                reply=eval(input("仍要残忍离开请按'0',心太软请按'1':"))
                if reply==0:
                    time.sleep(0.5)
                    print("哼!您很机车诶!")
                    time.sleep(0.5)
                    print("安全退出了啦!")
                    time.sleep(0.5)
                    print("hetui!真的很烦內")
                    time.sleep(0.5)
                    print("不爱我就拉倒了啦!")
                    break
                elif reply==1:
                    continue
            elif user_choice!=6:
                print(f'无{user_choice}选项,请从1-6中重新选择')
        elif user_choice == 1:
            print("添加成员信息")
            AddStudent()
        elif user_choice == 2:
            print("删除学员信息")
            DeleteStudent()
        elif user_choice == 3:
            print("修改学员信息")
            ModifyStudent()
        elif user_choice == 4:
            print("查找学员信息")
            SearchStudent()
        elif user_choice == 5:
            print("显示所有学员")
            BrowseAllStudent()
#int main(){}   hhh C语言起来了
FuncSelcet()

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周树皮不皮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值