zoukankan      html  css  js  c++  java
  • 基于Python实现学生管理系统

    学生信息管理系统负责编辑学生信息

    下面通过python实现一个简单的学生信息管理系统

    要求如下:

    1.添加学生的信息
    2.删除学生的信息
    3.修改的信息
    4.查询学生的信息
    5.遍历学生的信息
    6.退出系统

    写法:

    1.先考虑整体的框架(即搭框架),不要刚开始就考虑函数。
    2.提示用户选择功能。
    3.获取用户选择的功能。
    4.根据用户的选择,执行相应的功能。

    代码如下:

      1 # 0.学生管理系统界面
      2 def showInfo():
      3     print("-"*30)
      4     print("   学生管理系统 v1.0")
      5     print(" 1:添加学生的信息")
      6     print(" 2:删除学生的信息")
      7     print(" 3:修改的信息")
      8     print(" 4:查询学生的信息")
      9     print(" 5:遍历学生的信息")
     10     print(" 6:退出系统")
     11     print("-" * 30)
     12 
     13 
     14 # 1.添加学生的信息
     15 def addNewStu(studentsTemp):
     16     name = input("请输入姓名:")
     17     stuId = input("请输入学号:")
     18     age = input("请输入年龄:")
     19 
     20     # 2.判断是否能加这个学生:如果学生姓名已经存在报错提示;如果姓名不存在添加数据
     21     global students  # 声明students为全局变量
     22 
     23     # 2.1不允许学号重复:判断用户输入的学号和列表里面字典的id对应的值相等提示
     24     for i in students:
     25         if stuId == i['id']:
     26             print("该学号已经存在,请重新操作!!!")
     27             # return作用:退出当前函数,后面添加信息的代码不执行
     28             return
     29 
     30     # 2.2如果输入的姓名不存在,添加数据:准备空字典,字典新增数据,列表追加字典
     31     stuInfo = {}  # 2.2.1准备空字典
     32 
     33     # 2.2.2字典新增数据
     34     stuInfo['name'] = name  # 如果name存在赋值修改,如果name不存在则赋值新增“name”这个变量
     35     stuInfo['id'] = stuId
     36     stuInfo['age'] = age
     37 
     38     # 2.2.3列表追加字典数据
     39     studentsTemp.append(stuInfo)
     40 
     41 
     42 
     43 # 2.删除学生的信息
     44 def del_info():
     45     # 1.用户输入要删除的学生的学号
     46     del_name = input("请输入要删除的姓名:")
     47 
     48     # 2.判断学生是否存在:存在则删除:不存在提示
     49     # 2.1声明students为全局变量
     50     global students
     51     # 2.2遍历列表
     52     for i in students:
     53         # 2.3判断学生是否存在:存在执行删除(列表用面的学典).break:这个系统不允许重名,删除了一个后面的不需要再遍历。不存在提示
     54         if del_name == i['name']:
     55             students.remove(i)
     56             break
     57     else:  # 循环正常结束
     58         print("该学生不存在")
     59     print(students)
     60 
     61 
     62 # 3.修改学生的信息
     63 def modify_info():
     64     # 1.用户输入想要修改的学生的姓名
     65     modify_name = input("请输入要修改的学生的姓名:")
     66     # 2.判断学生是否存在:存在修改学号:不存在,提示
     67     # 2.1声明students是全局变量
     68     global students
     69     # 2.2遍历列表,判断输入的姓名==字典['name']
     70     for i in students:
     71         if modify_name == i['name']:
     72             # 将stuId修改key值,并终止此循环
     73             i['id'] = input("请输入新的学号:")
     74             break
     75     else:
     76         # 学生不存在
     77         print("该学生不存在")
     78     # 3.打印students
     79     print(students)
     80 
     81 
     82 # 4.查询学生的信息
     83 def search_info():
     84     # 1.用户输入目标学生姓名
     85     search_name = input("请输入要查询的学生的姓名:")
     86     # 2.检查学生是否存在:存在打印这个学生的信息;不存在则提示
     87     # 2.1声明students为全局变量
     88     global students
     89     # 2.2遍历students,判断输入的学号是否存在
     90     for i in students:
     91         if search_name == i['name']:
     92             # 学员存在:打印信息并终止循环
     93             print("查询到的学生信息如下----------")
     94             print(f"学生的学号是{i['id']},学生的姓名是{i['name']},学生的年龄是{i['age']}")
     95             break
     96     else:
     97         # 学生不存在的提示
     98         print("对不起,您查询的学生不存在,请重试!")
     99 
    100 
    101 # 5.遍历学生的信息
    102 def print_all():
    103     # 1.打印提示字
    104     print('学号	姓名	年龄')
    105 
    106     # 2.打印所有学生的数据
    107     for i in students:
    108         print(f"{i['id']}	{i['name']}	{i['age']}")
    109 
    110 
    111 students = []  # 等待存储所有学生信息
    112 # 系统功能需要循环使用,直在用户输入6,才退出系统
    113 while True:
    114     showInfo()  # 显示主界面
    115     key = int(input("请选择功能(序号):"))
    116 
    117     if key == 1:
    118         addNewStu(students)
    119     elif key == 2:
    120         del_info()
    121     elif key == 3:
    122         modify_info()
    123     elif key == 4:
    124         search_info()
    125     elif key == 5:
    126         print_all()
    127     elif key == 6:
    128         exit_flag = input("您确定要退出吗?yes/no
    ")
    129         if exit_flag == 'yes':
    130             break
    131     else:
    132         print("输入有误,请重新输入!")
    133         
  • 相关阅读:
    cocos2dx游戏开发——别踩白块学习笔记(二)——经典模式的实现
    cocos2dx游戏开发——别踩白块学习笔记(一)——Block类
    《数据结构与算法分析》学习笔记(三)——链表ADT
    《数据结构与算法分析》学习笔记(二)——算法分析
    cocos2dx游戏开发——微信打飞机学习笔记(三)——WelcomeScene的搭建
    cocos2dx游戏开发——微信打飞机学习笔记(二)——游戏框架
    cocos2dx游戏开发——微信打飞机学习笔记(一)——开发准备
    《数据结构与算法分析》学习笔记(一)——递归思想!
    好的博客mark
    [uart]理解线路规程的作用
  • 原文地址:https://www.cnblogs.com/aimilu/p/12433045.html
Copyright © 2011-2022 走看看