第九课 学生信息管理系统*实践

-
-
2024-12-20

教学目标:

  1. 知识与技能目标
    • 学会使用Python中的列表和字典存储和管理数据。
    • 掌握while循环、if条件判断等基础语句的应用。
    • 了解如何通过inputprint实现与用户的交互。
  2. 过程与方法目标
    • 通过实际操作构建一个简单的学生信息管理系统,培养动手能力。
    • 逐步掌握从问题到代码实现的编程逻辑。

教学重点:

  1. 列表和字典的基本操作。
  2. 循环和条件判断的使用。

教学难点:

  1. 理解列表嵌套字典的数据结构。
  2. 条件语句与循环的结合使用。

教学过程

一、讲解核心知识点

1. 列表与字典

(1)列表简介

  • 列表是用来存储多个数据的容器。可以通过下标访问列表中的数据,也可以动态添加或删除数据。
  • 示例:

    students = []  # 创建一个空列表
    students.append("小明")  # 向列表添加数据
    print(students[0])  # 输出列表第一个数据:小明

(2)字典简介

  • 字典是用来存储键值对的容器。可以通过键快速访问值,类似于查字典。
  • 示例:

    student = {"学号": "001", "姓名": "小明", "年龄": 10}
    print(student["姓名"])  # 输出:小明

(3)列表与字典的结合

  • 列表中可以存储多个字典,用于管理多组数据。例如,多个学生的信息可以用一个列表存储,每个学生是一个字典:

    students = [
    	{"学号": "001", "姓名": "小明", "年龄": 10},
        {"学号": "002", "姓名": "小红", "年龄": 11}
    ]

2. 程序流程控制

(1)循环结构:实现重复操作

  • 使用while True创建一个无限循环,程序可以一直运行,直到用户选择退出:

    while True:
        print("欢迎使用学生信息管理系统")

(2)条件判断:分支选择功能

  • 使用if语句根据用户的输入选择不同的功能:

    choice = input("请输入功能编号:")
    if choice == "1":
        print("添加学生信息")
    elif choice == "5":
        break  # 退出系统

(3)程序交互:输入与输出

  • input用于接收用户输入,print用于将信息输出到屏幕:

    name = input("请输入姓名:")
    print("学生姓名是:", name)

二、程序结构与代码实现

步骤1:创建主菜单
让程序能反复显示功能菜单,并提示用户输入选择:

while True:
    print("欢迎来到学生信息管理系统")
    print("1. 添加学生")
    print("2. 显示所有学生")
    print("3. 查询学生")
    print("4. 删除学生")
    print("5. 退出系统")
    choice = input("请输入你的选择(1/2/3/4/5):")

讲解:

  • 使用while True循环保证菜单一直显示。
  • print输出菜单内容,input接收用户选择。

步骤2:实现“添加学生”功能
提示用户输入学生的学号、姓名和年龄,并将学生信息存储到列表中:

if choice == "1":
    student_id = input("请输入学号:")
    name = input("请输入姓名:")
    age = input("请输入年龄:")
    student = {"学号": student_id, "姓名": name, "年龄": age}
    students.append(student)
    print("学生信息添加成功!")

讲解:

  • 创建一个字典保存学生信息。
  • 使用append方法将学生信息添加到students列表中。

步骤3:实现“显示所有学生”功能
遍历学生列表,显示所有学生的信息:

elif choice == "2":
    if len(students) == 0:
        print("当前没有学生信息。")
    else:
        print("学号\t姓名\t年龄")
        for student in students:
            print(f"{student['学号']}\t{student['姓名']}\t{student['年龄']}")

讲解:

  • 使用len函数判断列表是否为空。
  • 使用for循环遍历列表,打印每个学生的信息。

步骤4:实现“查询学生”功能
根据学号查找特定学生:

elif choice == "3":
    search_id = input("请输入学号查询:")
    found = False
    for student in students:
        if student["学号"] == search_id:
            print(
                f"学号:{student['学号']},\n"
                f"姓名:{student['姓名']},\n"
                f"年龄:{student['年龄']}"
            )
            found = True
            break
    if not found:
        print("未找到该学号的学生信息。")

讲解:

  • 使用循环逐个检查学生信息,如果找到,显示信息并退出循环。

步骤5:实现“删除学生”功能
根据学号删除学生信息:

elif choice == "4":
    delete_id = input("请输入要删除的学号:")
    found = False
    for student in students:
        if student["学号"] == delete_id:
            students.remove(student)
            print(f"学号为{delete_id}的学生信息已删除。")
            found = True
            break
    if not found:
        print("未找到该学号的学生信息。")

讲解:

  • 使用remove方法删除匹配的学生信息。

步骤6:实现“退出系统”功能
通过break退出循环,结束程序:

elif choice == "5":
    print("感谢使用学生信息管理系统,再见!")
    break

讲解:

  • 在用户选择退出时,输出提示信息并停止循环。

扫码查看电子文档

目录