Python基础 实现 学生管理系统

文章目录

  • [1. 引言](#1. 引言)
  • [2. 系统功能概述](#2. 系统功能概述)
  • [3. 代码实现](#3. 代码实现)
    • [3.1 初始化与主循环框架](#3.1 初始化与主循环框架)
      • [3.1.1 主框架](#3.1.1 主框架)
    • [3.2 添加学生功能(选项1)](#3.2 添加学生功能(选项1))
    • [3.3 查询学生功能(选项2)](#3.3 查询学生功能(选项2))
    • [3.4 修改成绩功能(选项3)](#3.4 修改成绩功能(选项3))
    • [3.5 删除学生功能(选项4)](#3.5 删除学生功能(选项4))
    • [3.6 显示所有学生(选项5)](#3.6 显示所有学生(选项5))
    • [3.7 退出系统(其他输入)](#3.7 退出系统(其他输入))
  • [4. 完整代码展示](#4. 完整代码展示)
  • [5. 运行演示示例](#5. 运行演示示例)
  • 总结:

1. 引言

本文将使用Python语言实现一个简单的学生成绩管理系统,系统通过控制台进行交互,能够完成添加、查询、修改、删除和显示所有学生信息的功能。本系统采用字典作为主要的数据存储结构,适合Python初学者学习和练习基础语法、字典操作以及流程控制。

2. 系统功能概述

列出系统支持的五大功能:

复制代码
添加学生信息
查询学生信息
修改学生成绩
删除学生记录
显示所有学生信息

2.1要求如下

复制代码
- 要求实现一个简单的学生成绩管理系统
- 可以添加学生姓名和成绩,并能查询、修改和删除记录
我们的学生管理系统 => 学生的姓名,分数 => 字典
思路:
    1. 需要定义一个空的字典 => students = {}
    2. 定义一个输入 =>
        当输入1的时候,表示添加学生
        当输入2的时候,表示查询学生
        当输入3的时候,表示修改学生
        当输入4的时候,表示删除学生
        当输入5的时候,查询所有学生
        当输入其他的时候,退出管理系统
    3. 用户操作管理系统的步骤是不固定的,我们使用死循环

强调系统的特点:简单易用、基于字典存储、控制台交互

3. 代码实现

3.1 初始化与主循环框架

3.1.1 主框架

python 复制代码
# 定义一个字典 => 存储学生的信息
students = {}
# 定义一个死循环 => 表示进入到系统当中
while True:
    print("\n\n~~~学生成绩管理系统~~~")
    print("输入 1  => 添加学生信息")
    print("输入 2  => 查询学生信息")
    print("输入 3  => 修改学生信息")
    print("输入 4  => 删除学生信息")
    print("输入 5  => 查询所有学生")
    print("输入其他 => 退出管理系统")
    # 请输入
    choice = input("根据上述提示,请输入1 ~ 5")

3.2 添加学生功能(选项1)

python 复制代码
 if choice == '1':
        print("\n\n-----添加学生信息-----")
        name = input("请输入学生的姓名")
        if name in students:
            print(f"学生{name}已经存在了,不要重复添加")
        else:
            score = float(input("请输入学生的成绩"))
            # {"张三":88,"李四":99}
            students[name] = score
            # 提示
            print(f"当前学生{name},成绩{score},已经添加成功了")

内容说明:

复制代码
目的就是输入学生的姓名和分数,扔到students里面去
   注意:   
            判断在students里面有没有这个学生的信息
            如果有,那么就提示当前学生信息已经存在了
            如果没有,那么就添加这个学生的信息 => 姓名和成绩

3.3 查询学生功能(选项2)

python 复制代码
 elif choice == '2':
     print("\n\n-----查询学生信息-----")
      name = input("请输入你要查询的学生")
        if name in students:
            print(f"当前这个学生{name}的成绩是=>{students[name]}")
        else:
            print(f"当前系统没有学生{name},请检查输入")

内容说明:

复制代码
 需要输入学生的姓名
 判断这个学生的姓名在students里面时候存在
  	 	 如果存在,那么就获取students这个字典的value值
  	     如果没有存在,提示当前学生{name}不存在,请检查输入

3.4 修改成绩功能(选项3)

python 复制代码
elif choice == '3':
   print("\n\n-----修改学生信息-----")
   name = input("请输入需要修改的学生姓名")
   if name in students:
       score = float(input("请输入新的成绩"))
       # 修改分数
       students[name] = score
   else:
       print(f"当前系统没有学生{name},请检查输入")

内容说明:

复制代码
获取这个学生的姓名
判断这个学生的姓名在系统students里面时候存在
         如果存在,那么就提示输入新的成绩,然后再修改
         如果不存在,那么就提示当前系统没有学生{name},请检查输入

3.5 删除学生功能(选项4)

python 复制代码
elif choice == '4':
    print("\n\n-----删除学生信息-----")
    name = input("请输入你要删除的学生信息")
    if name in students:
        del students[name] # 删除字典里面的某一个键值对的元素
        print(f"当前学生{name}已经删除成功了")
    else:
        print(f"当前系统没有学生{name},请检查输入")

内容说明:

复制代码
 获取这个学生的姓名
 判断这个学生在系统里面时候存在
        如果存在,那么就删除学生
        如果不存在,那么就提示

3.6 显示所有学生(选项5)

python 复制代码
elif choice == '5':
    # print(f"当前学生有 => {students}")
    # 遍历字典
    for key, value in students.items():
        print(f"学生姓名=>{key}___学生分数=>{value}")

3.7 退出系统(其他输入)

python 复制代码
    else:
        print("\n\n-----退出管理系统-----")
        break
print("程序结束")

4. 完整代码展示

python 复制代码
# 定义一个字典 => 存储学生的信息
students = {}
# 定义一个死循环 => 表示进入到系统当中
while True:
    print("\n\n~~~学生成绩管理系统~~~")
    print("输入 1  => 添加学生信息")
    print("输入 2  => 查询学生信息")
    print("输入 3  => 修改学生信息")
    print("输入 4  => 删除学生信息")
    print("输入 5  => 查询所有学生")
    print("输入其他 => 退出管理系统")
    # 请输入
    choice = input("根据上述提示,请输入1 ~ 5")
    if choice == '1':
        print("\n\n-----添加学生信息-----")
       
        name = input("请输入学生的姓名")
        if name in students:
            print(f"学生{name}已经存在了,不要重复添加")
        else:
            score = float(input("请输入学生的成绩"))
            # {"张三":88,"李四":99}
            students[name] = score
            # 提示
            print(f"当前学生{name},成绩{score},已经添加成功了")
    elif choice == '2':
        print("\n\n-----查询学生信息-----")
        
        name = input("请输入你要查询的学生")
        if name in students:
            print(f"当前这个学生{name}的成绩是=>{students[name]}")
        else:
            print(f"当前系统没有学生{name},请检查输入")
    elif choice == '3':
        print("\n\n-----修改学生信息-----")
         
        name = input("请输入需要修改的学生姓名")
        if name in students:
            score = float(input("请输入新的成绩"))
            # 修改分数
            students[name] = score
        else:
            print(f"当前系统没有学生{name},请检查输入")
    elif choice == '4':
        print("\n\n-----删除学生信息-----")
       
        name = input("请输入你要删除的学生信息")
        if name in students:
            del students[name] # 删除字典里面的某一个键值对的元素
            print(f"当前学生{name}已经删除成功了")
        else:
            print(f"当前系统没有学生{name},请检查输入")
    elif choice == '5':
        # print(f"当前学生有 => {students}")
        # 遍历字典
        for key, value in students.items():
            print(f"学生姓名=>{key}___学生分数=>{value}")
    else:
        print("\n\n-----退出管理系统-----")
        break
print("程序结束")

5. 运行演示示例

第一步:添加两个学生的信息
第二步:查询学生的信息
第三步:修改学生信息并且查看是否修改成功
第四步:删除学生信息,并且查看是否删除成功

你可以跟着下面演示的试一下

python 复制代码
~~~学生成绩管理系统~~~
输入 1  => 添加学生信息
输入 2  => 查询学生信息
输入 3  => 修改学生信息
输入 4  => 删除学生信息
输入 5  => 查询所有学生
输入其他 => 退出管理系统
根据上述提示,请输入1 ~ 5: 1

-----添加学生信息-----
请输入学生的姓名: 张三
请输入学生的成绩: 92
当前学生张三,成绩92.0,已经添加成功了


~~~学生成绩管理系统~~~
输入 1  => 添加学生信息
输入 2  => 查询学生信息
输入 3  => 修改学生信息
输入 4  => 删除学生信息
输入 5  => 查询所有学生
输入其他 => 退出管理系统
根据上述提示,请输入1 ~ 5: 1

-----添加学生信息-----
请输入学生的姓名: 李四
请输入学生的成绩: 85
当前学生李四,成绩85.0,已经添加成功了


~~~学生成绩管理系统~~~
输入 1  => 添加学生信息
输入 2  => 查询学生信息
输入 3  => 修改学生信息
输入 4  => 删除学生信息
输入 5  => 查询所有学生
输入其他 => 退出管理系统
根据上述提示,请输入1 ~ 5: 5

-----所有学生信息-----
学生姓名=>张三___学生分数=>92.0
学生姓名=>李四___学生分数=>85.0


~~~学生成绩管理系统~~~
输入 1  => 添加学生信息
输入 2  => 查询学生信息
输入 3  => 修改学生信息
输入 4  => 删除学生信息
输入 5  => 查询所有学生
输入其他 => 退出管理系统
根据上述提示,请输入1 ~ 5: 2

-----查询学生信息-----
请输入你要查询的学生: 张三
当前这个学生张三的成绩是=>92.0


~~~学生成绩管理系统~~~
输入 1  => 添加学生信息
输入 2  => 查询学生信息
输入 3  => 修改学生信息
输入 4  => 删除学生信息
输入 5  => 查询所有学生
输入其他 => 退出管理系统
根据上述提示,请输入1 ~ 5: 3

-----修改学生信息-----
请输入需要修改的学生姓名: 张三
请输入新的成绩: 95
学生张三的成绩已修改为95.0


~~~学生成绩管理系统~~~
输入 1  => 添加学生信息
输入 2  => 查询学生信息
输入 3  => 修改学生信息
输入 4  => 删除学生信息
输入 5  => 查询所有学生
输入其他 => 退出管理系统
根据上述提示,请输入1 ~ 5: 4

-----删除学生信息-----
请输入你要删除的学生信息: 李四
当前学生李四已经删除成功了


~~~学生成绩管理系统~~~
输入 1  => 添加学生信息
输入 2  => 查询学生信息
输入 3  => 修改学生信息
输入 4  => 删除学生信息
输入 5  => 查询所有学生
输入其他 => 退出管理系统
根据上述提示,请输入1 ~ 5: 5

-----所有学生信息-----
学生姓名=>张三___学生分数=>95.0


~~~学生成绩管理系统~~~
输入 1  => 添加学生信息
输入 2  => 查询学生信息
输入 3  => 修改学生信息
输入 4  => 删除学生信息
输入 5  => 查询所有学生
输入其他 => 退出管理系统
根据上述提示,请输入1 ~ 5: 0

-----退出管理系统-----

程序结束

总结:

本文实现了一个简单但功能完整的学生成绩管理系统,涵盖了基本的增删改查操作。通过这个项目,我们学习了:

Python字典的基本操作(添加、查询、修改、删除)

使用无限循环创建交互式程序

用户输入的处理和验证

条件判断和流程控制

相关推荐
蛋仔聊测试2 天前
pytest源码解析(三) 解析pytest 插件系统
python·测试
databook3 天前
Manim实现水波纹特效
后端·python·动效
跟橙姐学代码3 天前
Python 调试的救星:pdb 帮你摆脱“打印地狱”
前端·pytorch·python
倔强青铜三3 天前
苦练Python第48天:类的私有变量“防身术”,把秘密藏进类里!
人工智能·python·面试
倔强青铜三3 天前
苦练Python第47天:一文吃透继承与多继承,MRO教你不再踩坑
人工智能·python·面试
倔强青铜三3 天前
为什么Python程序员必须学习Pydantic?从数据验证到API开发的革命性工具
人工智能·python·面试
豌豆花下猫3 天前
Python 潮流周刊#120:新型 Python 类型检查器对比(摘要)
后端·python·ai
大模型真好玩4 天前
深入浅出LangGraph AI Agent智能体开发教程(六)—LangGraph 底层API入门
人工智能·python·mcp
站大爷IP4 天前
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
python
GarrettGao4 天前
Frida常见用法
javascript·python·逆向