进阶4:学生管理系统练习(面向过程)

程序设计思路

进阶4:学生管理系统练习(面向过程)

程序说明

数据结构:
每个学生用一个字典表示,包含 id, name, 和 age。
students 是一个列表,用于存储所有学生的字典。

功能实现:
菜单功能用于展示可选的操作。
add_student: 添加一个新学生到列表。
find_student: 根据学号查找学生并显示信息。
display_students: 打印所有学生的信息。
modify_student: 修改某个学生的信息。
delete_student: 删除某个学生。

主函数:
main() 函数是程序的入口,通过不断的循环让用户选择不同的功能直到退出。
你可以根据需要进一步扩展或修改该程序,例如增加数据持久化、异常处理以及增加更多字段等功能。

代码实现:

def print_menu():
    print("="*30)
    print("学生管理系统")
    print("1. 增加学生")
    print("2. 查找学生")
    print("3. 显示所有学生")
    print("4. 修改学生")
    print("5. 删除学生")
    print("0. 退出系统")
    print("="*30)

def add_student(students):
    student = {}
    student['id'] = input("请输入学生学号: ")
    student['name'] = input("请输入学生姓名: ")
    student['age'] = input("请输入学生年龄: ")
    students.append(student)
    print("学生添加成功!")

def find_student(students):
    search_id = input("请输入要查找的学生学号: ")
    for student in students:
        if student['id'] == search_id:
            print(f"找到学生: 学号: {student['id']}, 姓名: {student['name']}, 年龄: {student['age']}")
            return
    print("未找到该学生信息。")

def display_students(students):
    if not students:
        print("当前没有学生信息。")
        return
    print("所有学生信息:")
    for student in students:
        print(f"学号: {student['id']}, 姓名: {student['name']}, 年龄: {student['age']}")

def modify_student(students):
    modify_id = input("请输入要修改的学生学号: ")
    for student in students:
        if student['id'] == modify_id:
            student['name'] = input("请输入新的姓名: ")
            student['age'] = input("请输入新的年龄: ")
            print("学生信息修改成功!")
            return
    print("未找到该学生信息。")

def delete_student(students):
    delete_id = input("请输入要删除的学生学号: ")
    for student in students:
        if student['id'] == delete_id:
            students.remove(student)
            print("学生信息删除成功!")
            return
    print("未找到该学生信息。")

def main():
    students = []  # 初始化一个空的学生列表
    while True:
        print_menu()
        choice = input("请选择: ")
        if choice == '1':
            add_student(students)
        elif choice == '2':
            find_student(students)
        elif choice == '3':
            display_students(students)
        elif choice == '4':
            modify_student(students)
        elif choice == '5':
            delete_student(students)
        elif choice == '0':
            print("退出系统")
            break
        else:
            print("无效的选择,请重新选择。")

if __name__ == "__main__":
    main()

第二版:

# 学生管理系统 v1.0

# 定义全局学生列表
students = []

# 菜单函数
def menu():
    print("\n--- 学生管理系统 ---")
    print("1. 添加学生")
    print("2. 修改学生")
    print("3. 查找学生")
    print("4. 删除学生")
    print("5. 显示所有学生")
    print("0. 退出系统")

# 添加学生
def add_student():
    student = {}
    student["id"] = input("请输入学生学号: ")
    student["name"] = input("请输入学生姓名: ")
    student["age"] = input("请输入学生年龄: ")
    students.append(student)
    print("学生信息已添加。")

# 查找学生
def find_student(student_id):
    for student in students:
        if student["id"] == student_id:
            return student
    return None

# 修改学生
def update_student():
    student_id = input("请输入要修改的学生学号: ")
    student = find_student(student_id)
    if student:
        student["name"] = input("请输入新的姓名: ")
        student["age"] = input("请输入新的年龄: ")
        print("学生信息已修改。")
    else:
        print("未找到该学生信息。")

# 删除学生
def delete_student():
    student_id = input("请输入要删除的学生学号: ")
    student = find_student(student_id)
    if student:
        students.remove(student)
        print("学生信息已删除。")
    else:
        print("未找到该学生信息。")

# 显示所有学生
def show_all_students():
    if students:
        print("\n--- 所有学生信息 ---")
        for student in students:
            print(f"学号: {student['id']}, 姓名: {student['name']}, 年龄: {student['age']}")
    else:
        print("暂无学生信息。")

# 选择功能函数
def choose_option():
    while True:
        menu()
        choice = input("请选择功能 (0-5): ")
        if choice == "1":
            add_student()
        elif choice == "2":
            update_student()
        elif choice == "3":
            student_id = input("请输入要查找的学生学号: ")
            student = find_student(student_id)
            if student:
                print(f"学号: {student['id']}, 姓名: {student['name']}, 年龄: {student['age']}")
            else:
                print("未找到该学生信息。")
        elif choice == "4":
            delete_student()
        elif choice == "5":
            show_all_students()
        elif choice == "0":
            print("退出系统。")
            break
        else:
            print("无效的选择,请重新输入。")

# 主函数
def main():
    print("欢迎使用学生管理系统 v1.0")
    choose_option()

# 程序入口
if __name__ == "__main__":
    main()

发布者:LJH,转发请注明出处:https://www.ljh.cool/41780.html

(0)
上一篇 2024年11月7日 下午3:52
下一篇 2024年11月11日 下午5:06

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注