天天看點

python實作學生管理系統(最簡版)

def print_menue():
    print("----------")
    print("學生管理系統")
    print("1:添加學生")
    print("2:删除學生")
    print("3:修改學生")
    print("4:查詢學生")
    print("5:顯示所有學生")
    print("6:退出系統")
    print("-----------")


# 清單存儲多個學生字典
student_info = [{"name": "gcl", "tel": "110", "QQ": "250"}]
# 字典存儲一個學生資訊
student_message = {}


def add_info():
    name = input("輸入姓名:")
    tel = input("輸入電話:")
    qq = input("輸入QQ号:")
    global student_message
    student_message["name"] = name
    student_message["tel"] = tel
    student_message["QQ"] = qq
    global student_info
    # 查重
    for i in student_info:
        # 通過i取出清單中的每個元素
        if i["name"] == name and i["tel"] == tel:
            print("資訊重複!")
            return
    # 将資訊添加到清單中
    student_info.append(student_message)
    print("添加成功!")


def search_info():
    name = input("輸入姓名:")
    flag = 0
    for i in student_info:
        if i["name"] == name:
            print("name:", i["name"])
            print("tel:", i["tel"])
            print("QQ:", i["QQ"])
            flag = 1
        if flag == 0:
            print("未查詢到相關資訊!")


def del_info():
    name = input("輸入待删除人姓名:")
    tel = input("輸入待删除人電話号碼:")
    # for-else用法
    for i in student_info:
        if i["name"] == name and i["tel"] == tel:
            # remove是按照值删除
            student_info.remove(i)
            break
    # 此處的else和for對應使用
    # for循環使用break退出後就不執行else了
    else:
        print("未查詢到對應學員!")


def modifty_info():
    name = input("輸入姓名:")
    tel = input("輸入電話号碼:")
    flag = 0
    for i in student_info:
        # 因為位址一樣是以可以牽連清單内資料一起改動。
        if i["name"] == name and i["tel"] == tel:
            name = input("輸入修改後的姓名:")
            tel = input("輸入修改後的電話号碼:")
            i["name"] = name
            i["tel"] = tel
            print("修改成功")
            break
    else :
        print("查無此人!")


def print_all_info():
    for i in student_info:
        print("name  tel  QQ")
        print("%s  %s  %s" % (i["name"], i["tel"], i["QQ"]))


def main():
    # 程式入口
    while True:
        print_menue()
        num = int(input("輸入需要的功能:"))
        if num == 1:
            add_info()
        elif num == 2:
            del_info()
        elif num == 3:
            modifty_info()
        elif num == 4:
            search_info()
        elif num == 5:
            print_all_info()
        elif num == 6:
            print("再見!")
            break
        else:
            print("輸入錯誤")
        input("~~~~輸入回車繼續~~~~")


# 程式開始
main()