首頁 > 軟體

基於Python實現簡易學生資訊管理系統

2022-07-13 14:01:30

一、系統簡介

實現一個學生資訊的管理系統:主要功能有:

新增學生資訊

刪除學生資訊

修改學生資訊

查詢學生資訊

顯示學生資訊

退出當前系統

二、步驟分析

顯示功能介面

使用者輸入功能序號

對不同序號的功能實現具體函數(3.1 定義函數、3.2 呼叫函數)

三、需求實現

顯示功能介面info_print()

使用者輸入功能序號 user_num = eval(input('請輸入功能序號:'))

按照使用者輸入的功能序號,執行不同的功能(函數)

新增學生資訊add_info()

刪除學生資訊del_info()

修改學生資訊modify_info()

查詢學生資訊search_info()

顯示學生資訊print_all()

四、具體實現

系統功能需要回圈使用,直到使用者輸入6,才退出系統 功能介面部分:

# 定義一個函數
def info_print():
    print('--------請選擇功能-----')
    print('1、新增學生')
    print('2、刪除學生')
    print('3、修改學生')
    print('4、查詢學生')
    print('5、顯示所有學生')
    print('6、退出系統')
    print('-' * 20)

# 等待儲存所有學生的資訊
info = []

主要部分程式碼:

while True:
    # 1、顯示功能介面
    info_print()
    
    # 2、使用者輸入功能序號
    user_num = eval(input('請輸入功能序號:'))

    # 3、按照使用者輸入的功能序號,執行不同的功能(函數)
    # 如果使用者輸入1,就執行新增學生的功能
    if user_num == 1:
        # print('新增學生')
    elif user_num == 2:
        # print('刪除學生')
    elif user_num == 3:
        # print('修改學生')
    elif user_num == 4:
       # print('查詢學生')
    elif user_num == 5:
        # print('顯示所有學生')
    elif user_num == 6:
        exit_flag = input("確定要退出嗎?yes/no?")
        if exit_flag == 'yes':
            break
        # print('退出系統')
    else:
        print('輸入的功能序號有誤!')


那麼根據上面的程式碼,需要實現具體的功能函數,主要程式碼部分如下:

while True:
    # 1、顯示功能介面
    info_print()

    # 2、使用者輸入功能序號
    user_num = eval(input('請輸入功能序號:'))

    # 3、按照使用者輸入的功能序號,執行不同的功能(函數)
    # 如果使用者輸入1,就執行新增學生的功能
    if user_num == 1:
        add_info()
        # print('新增學生')
    elif user_num == 2:
        del_info()
        # print('刪除學生')
    elif user_num == 3:
        modify_info()
        # print('修改學生')
    elif user_num == 4:
        search_info()
        # print('查詢學生')
    elif user_num == 5:
        print_all()
        # print('顯示所有學生')
    elif user_num == 6:
        exit_flag = input("確定要退出嗎?yes/no?")
        if exit_flag == 'yes':
            break
        # print('退出系統')
    else:
        print('輸入的功能序號有誤!')


4.1 新增學生資訊的函數

def add_info():
    """新增學生函數"""
    # 接受使用者輸入學生資訊
    # 1、使用者輸入:學號、姓名、手機號
    new_id = input("輸入學號:")
    new_name = input("輸入姓名:")
    new_tel = input("輸入手機號:")

    # 2、判斷是否新增這個學生,如果學生姓名已經存在報錯提示,如果不存在則新增資料
    global info
    # 2.1 不允許姓名重複:判斷使用者輸入的姓名如果和列表裡面字典的name值是相等的,則提示姓名重複
    for i in info:
        if new_name == i['name']:
            print("此使用者已經存在,請勿重複新增")
            # return 退出當前函數,後面新增資訊的程式碼不執行
            return
    # 如果使用者輸入的姓名不存在,則新增該學生資訊
    info_dict = {<!-- -->'id': new_id, 'name': new_name, 'tel': new_tel}
    # 將使用者輸入的資料追加到字典

    # 將這個學生的字典資料追加到列表
    info.append(info_dict)
    print(info)


4.2 刪除學生資訊的函數

def del_info():
    """刪除學生"""
    # 1、使用者輸入要刪除的學生的姓名
    del_name = input("請輸入要刪除的學生的姓名:")

    global info
    # 2、判斷學生是否存在
    # 2.1 宣告info是全域性變數
    # 2.2 遍歷列表
    # 2.3 判斷學生是否存在,存在則執行刪除資訊,break:不允許重名,那麼刪除了一個,後面的不需要再遍歷;不存在則提示
    for i in info:
        if del_name == i['name']:
            info.remove(i)
            break
    else:
        print('該學生不存在!')

    print(info)


4.3 修改學生資訊的函數

def modify_info():
    """修改函數"""
    # 1、使用者輸入要修改的學生的姓名
    modify_name = input("請輸入要修改的學生的姓名:")
    global info

    # 2、判斷學生是否存在,如果輸入的姓名存在則修改手機號,否則則提示
    for i in info:
        if modify_name == i['name']:
            i['tel'] = input("請輸入新的手機號:")
            break
    else:
        print("該學生不存在")

    print(info)


4.4 查詢學生資訊的函數

def search_info():
    """查詢學生資訊"""
    # 1、輸入要查詢的學生姓名
    search_name = input("請輸入要查詢的學生姓名:")

    global info

    # 2、判斷學生是否存在,如果輸入的姓名存在則顯示該學生的資訊,否則則提示
    for i in info:
        if search_name == i['name']:
            print("找到該學生的資訊如下:")
            print(f"該學生的學號是{i['id']},姓名是{i['name']},手機號是{i['tel']}")
            break
    else:
        print("該學生不存在!")



4.5 顯示所有學生資訊

def print_all():
    """顯示所有學生資訊"""
    print('學號t姓名t手機號')
    for i in info:
        print(f"{i['id']}t{i['name']}t{i['tel']}")



五、執行效果

新增和刪除學生資訊:

修改和查詢學生資訊

顯示所有學生資訊和退出系統

六、完整程式碼

# 定義一個函數
def info_print():
    print('--------請選擇功能-----')
    print('1、新增學生')
    print('2、刪除學生')
    print('3、修改學生')
    print('4、查詢學生')
    print('5、顯示所有學生')
    print('6、退出系統')
    print('-' * 20)


# 等待儲存所有學生的資訊
info = []


# 1、新增學生資訊的函數
def add_info():
    """新增學生函數"""
    # 接受使用者輸入學生資訊
    # 1、使用者輸入:學號、姓名、手機號
    new_id = input("輸入學號:")
    new_name = input("輸入姓名:")
    new_tel = input("輸入手機號:")

    # 2、判斷是否新增這個學生,如果學生姓名已經存在報錯提示,如果不存在則新增資料
    global info
    # 2.1 不允許姓名重複:判斷使用者輸入的姓名如果和列表裡面字典的name值是相等的,則提示姓名重複
    for i in info:
        if new_name == i['name']:
            print("此使用者已經存在,請勿重複新增")
            # return 退出當前函數,後面新增資訊的程式碼不執行
            return
    # 如果使用者輸入的姓名不存在,則新增該學生資訊
    info_dict = {<!-- -->'id': new_id, 'name': new_name, 'tel': new_tel}
    # 將使用者輸入的資料追加到字典

    # 將這個學生的字典資料追加到列表
    info.append(info_dict)
    print(info)


# 2、刪除學生的資訊
def del_info():
    """刪除學生"""
    # 1、使用者輸入要刪除的學生的姓名
    del_name = input("請輸入要刪除的學生的姓名:")

    global info
    # 2、判斷學生是否存在
    # 2.1 宣告info是全域性變數
    # 2.2 遍歷列表
    # 2.3 判斷學生是否存在,存在則執行刪除資訊,break:不允許重名,那麼刪除了一個,後面的不需要再遍歷;不存在則提示
    for i in info:
        if del_name == i['name']:
            info.remove(i)
            break
    else:
        print('該學生不存在!')

    print(info)


# 3、修改學生的資訊
def modify_info():
    """修改函數"""
    # 1、使用者輸入要修改的學生的姓名
    modify_name = input("請輸入要修改的學生的姓名:")
    global info

    # 2、判斷學生是否存在,如果輸入的姓名存在則修改手機號,否則則提示
    for i in info:
        if modify_name == i['name']:
            i['tel'] = input("請輸入新的手機號:")
            break
    else:
        print("該學生不存在")

    print(info)


# 4、查詢學生資訊
def search_info():
    """查詢學生資訊"""
    # 1、輸入要查詢的學生姓名
    search_name = input("請輸入要查詢的學生姓名:")

    global info

    # 2、判斷學生是否存在,如果輸入的姓名存在則顯示該學生的資訊,否則則提示
    for i in info:
        if search_name == i['name']:
            print("找到該學生的資訊如下:")
            print(f"該學生的學號是{i['id']},姓名是{i['name']},手機號是{i['tel']}")
            break
    else:
        print("該學生不存在!")


# 5、顯示所有學生資訊
def print_all():
    """顯示所有學生資訊"""
    print('學號t姓名t手機號')
    for i in info:
        print(f"{i['id']}t{i['name']}t{i['tel']}")


# 系統功能需要回圈使用,直到使用者輸入6,才退出系統
while True:
    # 1、顯示功能介面
    info_print()

    # 2、使用者輸入功能序號
    user_num = eval(input('請輸入功能序號:'))

    # 3、按照使用者輸入的功能序號,執行不同的功能(函數)
    # 如果使用者輸入1,就執行新增學生的功能
    if user_num == 1:
        add_info()
        # print('新增學生')
    elif user_num == 2:
        del_info()
        # print('刪除學生')
    elif user_num == 3:
        modify_info()
        # print('修改學生')
    elif user_num == 4:
        search_info()
        # print('查詢學生')
    elif user_num == 5:
        print_all()
        # print('顯示所有學生')
    elif user_num == 6:
        exit_flag = input("確定要退出嗎?yes/no?")
        if exit_flag == 'yes':
            break
        # print('退出系統')
    else:
        print('輸入的功能序號有誤!')

以上就是基於Python實現簡易學生資訊管理系統的詳細內容,更多關於Python學生資訊管理系統的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com