Python每日筆記07

專注的阿熊發表於2021-04-16

學生管理系統案例(改進版)

# 定義功能介面函式

def info_print():

    print(" 請選擇功能 :")

    print("1 、新增學生 ")

    print("2 、刪除學生 ")

    print("3 、修改學生 ")

    print("4 、查詢學生 ")

    print("5 、檢視所有學生 ")

    print("6 、退出 ")

    print("-" * 20)

# 儲存學員資訊變數 ,使用列表

info = [

        {'tel': '110', 'id': '1', 'name': ' 小敬 '},

        {'tel': '119', 'id': '2', 'name': ' 小火 '},

        {'tel': '120', 'id': '3', 'name': ' 小護 '}

        ]

# 新增學生資訊

def add_info():

    """ 新增學生的函式 """

    ''' 1 、使用者輸入學生的學號、姓名、手機號 '''

    new_id = input(" 請輸入學號: ")

    new_name = input(" 請輸入姓名: ")

    new_tel = input(" 請輸入手機號: ")

    '''2 、判斷是否新增這個學員,如果學員的姓名已經存在,報錯提示,如果姓名不存在

         則新增學員資訊'''

    # 2.1 設定全域性變數

    global info

    for i in info:

        if new_name == i['name']:

            print(" 該使用者已存在 ")

            return  # 外匯跟單gendan5.com 退出當前函式,後面新增資訊的程式碼不執行

    # 如果輸入的姓名不存在,新增資料,準備一個空的字典,列表追加到字典中

    info_dict = {}

    # 字典新增資料 key,value

    info_dict['id'] = new_id

    info_dict['name'] = new_name

    info_dict['tel'] = new_tel

    ''' 注意:函式體內訪問全域性變數,需要用 global 做修飾!!! '''

    # 列表追加字典

    info.append(info_dict)

    print(info)

# 刪除學生資訊

def del_info():

    """ 刪除學生的函式 """

    # 1 、使用者輸入要刪除的學生的姓名

    del_name = input(" 請輸入要刪除的學生的姓名: ")

    # 2 、判斷輸入的學生是否存在,如果存在則刪除,不存在則提示資訊

    # 2.1 設定全域性變數

    global info

    # 2.2 迴圈遍歷 info 檢查是否存在

    for i in info:

        if del_name == i['name']:

            info.remove(i)

            break

    else:   # 對應的 for 迴圈, for 迴圈結束後的操作

        print(" 該學員不存在 ")

    print(info)

# 修改學生資訊

def mod_info():

    """ 修改學員資訊的函式 """

    mod_name = input(" 請輸入要修改的學生姓名: ")

    global info

    for i in info:

        if mod_name == i['name']:

            i['tel'] = input(" 請輸入新的手機號: ")

            print(" 修改成功 ")

            break

    else:

        print(" 學生不存在 ")

# 查詢學生資訊

def search_info():

    """ 查詢學生資訊函式 """

    search_name = input(" 請輸入要查詢的學生姓名 ")

    global info

    for li in info:

        if search_name == li['name']:

            print("name:%s id:%s tel:%s" % (li['name'], li['id'], li['tel']))

    else:

        print(" 學生不存在 ")

def all_info():

    """ 檢視所有學生資訊函式 """

    global info

    for li in info:

        print("name:%s id:%s tel:%s" % (li['name'], li['id'], li['tel']))

if __name__ == '__main__':

    while True:

        # 1 、顯示功能介面

        info_print()

        # 2 、使用者輸入功能序號

        user_num = input(" 請輸入功能序號 ")

        if user_num == '1':

            add_info()

        elif user_num == '2':

            del_info()

        elif user_num == '3':

            mod_info()

        elif user_num == '4':

            search_info()

        elif user_num == '5':

            all_info()

        elif user_num == '6':

            print(" 退出系統 ")

            break


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2768442/,如需轉載,請註明出處,否則將追究法律責任。

相關文章