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

項目截圖

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章