Python基础核心教程(034)——学生管理系统


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

项目功能

  • 新增学生
  • 显示学生
  • 查询学生
  • 删除学生
  • 修改学生
  • 退出系统

项目构成

在这里插入图片描述

sms_main

"""
原创作者:谷哥的小弟
博客地址:http://blog.csdn.net/lfdfhl
示例描述:学生管理系统student_manage_system
"""
# 导入sms_operate
import sms_operate

while True:
    # 显示系统操作菜单
    sms_operate.showMenu()
    action = input("请输入您的选择:")
    if action == "1":
        sms_operate.addStudent()
    elif action == "2":
        sms_operate.showStudent()
    elif action == "3":
        sms_operate.searchStudent()
    elif action == "4":
        print("您已经退出该系统")
        break
    else:
        print("您的输入有误,请重试")

sms_operate

"""
原创作者:谷哥的小弟
博客地址:http://blog.csdn.net/lfdfhl
示例描述:学生管理系统student_manage_system
"""

# 保存学生信息的列表;列表中每个元素是字典
studentList = []


# 显示操作菜单
def showMenu():
    print("-" * 30)
    print("欢迎使用学生管理系统")
    print("1.新增学生")
    print("2.显示学生")
    print("3.查询学生")
    print("4.退出系统")
    print("-" * 30)


# 新增学生
def addStudent():
    print("-" * 30)
    name = input("请输入学生名字:")
    age = input("请输入学生年龄:")
    class_info = input("请输入班级信息:")
    # 将学生信息封装为字典
    student = {
    
    "name": name, "age": age, "class_info": class_info}
    # 添加学生至列表studentList
    studentList.append(student)
    print("添加%s成功" % name)


# 显示所有学生
def showStudent():
    print("-" * 30)
    if len(studentList) == 0:
        print("暂无学生")
        return
    # 打印表头
    for temp in ["名字", "年龄", "班级"]:
        print(temp, end="\t\t")
    print()
    # 打印每位学生
    for student in studentList:
        name = student["name"]
        age = student["age"]
        class_info = student["class_info"]
        print("%s\t\t%s\t\t%s\t\t" % (name, age, class_info))


# 查询学生
def searchStudent():
    print("-" * 30)
    if len(studentList) == 0:
        print("暂无学生")
        return
    target_name = input("请输入待查询学生姓名:")
    for student in studentList:
        if student["name"] == target_name:
            name = student["name"]
            age = student["age"]
            class_info = student["class_info"]
            print("%s\t\t%s\t\t%s\t\t" % (name, age, class_info))
            # 操作查询到的学生
            handleStudent(student)
            break


# 处理查询到的学生
def handleStudent(student):
    action = input("请选择操作:[1]修改 [2]删除 [3]返回上级")
    if action == "1":
        student["name"] = updateStudent(student["name"], "请输入新的姓名:")
        student["age"] = updateStudent(student["age"], "请输入新的年龄:")
        student["class_info"] = updateStudent(student["class_info"], "请输入新的学生信息:")
    if action == "2":
        studentList.remove(student)
        print("已成功删除学生%s" % student["name"])
    if action == "3":
        print("返回上级")
        return


"""
修改学生信息
old_value:字典原来的值
tips:输入的提示文字
return:如果用户输入新内容则返回新内容;否则,返回字典原来的值
"""


def updateStudent(old_value, tips):
    content = input(tips)
    if len(content) > 0:
        return content
    else:
        return old_value

项目截图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lfdfhl/article/details/106367316