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字典的基本操作(添加、查询、修改、删除)

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

用户输入的处理和验证

条件判断和流程控制

相关推荐
AI 嗯啦4 小时前
Python 爬虫案例:爬取豆瓣电影 Top250 数据
开发语言·爬虫·python
云天徽上5 小时前
【数据可视化-104】安徽省2025年上半年GDP数据可视化分析:用Python和Pyecharts打造炫酷大屏
开发语言·python·信息可视化·数据分析·数据可视化
蒜鸟~蒜鸟5 小时前
基于 C 语言的网络单词查询系统设计与实现(客户端 + 服务器端)
c语言·网络·oracle
深瞳智检5 小时前
深度学习环境搭建运行(一) Ubuntu22.04 系统安装 CUDA11.8 和 CUDNN8.6.0 详细步骤(新手入门)
人工智能·python·深度学习·yolo·计算机视觉
大学生毕业题目5 小时前
毕业项目推荐:64-基于yolov8/yolov5/yolo11的蝴蝶种类检测识别系统(Python+卷积神经网络)
人工智能·python·yolo·目标检测·cnn·pyqt·蝴蝶检测
m0_578267865 小时前
从零开始的python学习(九)P134+P135+P136+P137+P138+P139+P140
开发语言·python·学习
@TsUnAmI~5 小时前
基于Flask的企业级产品信息管理系统技术实现笔记
笔记·python·flask
程序员的世界你不懂5 小时前
【Flask】测试平台开发,开发实现应用搜索和分页-第十篇
后端·python·flask
程序员的世界你不懂5 小时前
【Flask】测试平台开发,实现全局邮件发送工具 第十二篇
网络·python·flask
九河云5 小时前
AI+云,双擎驱动——华为云让智能触手可及
网络·人工智能·科技·安全·华为云