簡易學(xué)生信息管理系統(tǒng)(Python版)
點擊上方“菜學(xué)Python”,選擇“星標”公眾號
超級無敵干貨,第一時間送達!!!

來源于網(wǎng)絡(luò),侵刪
一、系統(tǒng)簡介
實現(xiàn)一個學(xué)生信息的管理系統(tǒng):主要功能有:
添加學(xué)生信息 刪除學(xué)生信息 修改學(xué)生信息 查詢學(xué)生信息 顯示學(xué)生信息 退出當(dāng)前系統(tǒng)
二、步驟分析
顯示功能界面 用戶輸入功能序號 對不同序號的功能實現(xiàn)具體函數(shù)(3.1 定義函數(shù)、3.2 調(diào)用函數(shù))
三、需求實現(xiàn)
顯示功能界面 info_print()用戶輸入功能序號 user_num = eval(input('請輸入功能序號:'))按照用戶輸入的功能序號,執(zhí)行不同的功能(函數(shù)) 添加學(xué)生信息 add_info()刪除學(xué)生信息 del_info()修改學(xué)生信息 modify_info()查詢學(xué)生信息 search_info()顯示學(xué)生信息 print_all()
四、具體實現(xiàn)
系統(tǒng)功能需要循環(huán)使用,直到用戶輸入6,才退出系統(tǒng) 功能界面部分:
# 定義一個函數(shù)
def info_print():
print('--------請選擇功能-----')
print('1、添加學(xué)生')
print('2、刪除學(xué)生')
print('3、修改學(xué)生')
print('4、查詢學(xué)生')
print('5、顯示所有學(xué)生')
print('6、退出系統(tǒng)')
print('-' * 20)
# 等待存儲所有學(xué)生的信息
info = []
主要部分代碼:
while True:
# 1、顯示功能界面
info_print()
# 2、用戶輸入功能序號
user_num = eval(input('請輸入功能序號:'))
# 3、按照用戶輸入的功能序號,執(zhí)行不同的功能(函數(shù))
# 如果用戶輸入1,就執(zhí)行添加學(xué)生的功能
if user_num == 1:
# print('添加學(xué)生')
elif user_num == 2:
# print('刪除學(xué)生')
elif user_num == 3:
# print('修改學(xué)生')
elif user_num == 4:
# print('查詢學(xué)生')
elif user_num == 5:
# print('顯示所有學(xué)生')
elif user_num == 6:
exit_flag = input("確定要退出嗎?yes/no?")
if exit_flag == 'yes':
break
# print('退出系統(tǒng)')
else:
print('輸入的功能序號有誤!')
那么根據(jù)上面的代碼,需要實現(xiàn)具體的功能函數(shù),主要代碼部分如下:
while True:
# 1、顯示功能界面
info_print()
# 2、用戶輸入功能序號
user_num = eval(input('請輸入功能序號:'))
# 3、按照用戶輸入的功能序號,執(zhí)行不同的功能(函數(shù))
# 如果用戶輸入1,就執(zhí)行添加學(xué)生的功能
if user_num == 1:
add_info()
# print('添加學(xué)生')
elif user_num == 2:
del_info()
# print('刪除學(xué)生')
elif user_num == 3:
modify_info()
# print('修改學(xué)生')
elif user_num == 4:
search_info()
# print('查詢學(xué)生')
elif user_num == 5:
print_all()
# print('顯示所有學(xué)生')
elif user_num == 6:
exit_flag = input("確定要退出嗎?yes/no?")
if exit_flag == 'yes':
break
# print('退出系統(tǒng)')
else:
print('輸入的功能序號有誤!')
4.1 添加學(xué)生信息的函數(shù)
def add_info():
"""添加學(xué)生函數(shù)"""
# 接受用戶輸入學(xué)生信息
# 1、用戶輸入:學(xué)號、姓名、手機號
new_id = input("輸入學(xué)號:")
new_name = input("輸入姓名:")
new_tel = input("輸入手機號:")
# 2、判斷是否添加這個學(xué)生,如果學(xué)生姓名已經(jīng)存在報錯提示,如果不存在則添加數(shù)據(jù)
global info
# 2.1 不允許姓名重復(fù):判斷用戶輸入的姓名如果和列表里面字典的name值是相等的,則提示姓名重復(fù)
for i in info:
if new_name == i['name']:
print("此用戶已經(jīng)存在,請勿重復(fù)添加")
# return 退出當(dāng)前函數(shù),后面添加信息的代碼不執(zhí)行
return
# 如果用戶輸入的姓名不存在,則添加該學(xué)生信息
info_dict = {<!-- -->'id': new_id, 'name': new_name, 'tel': new_tel}
# 將用戶輸入的數(shù)據(jù)追加到字典
# 將這個學(xué)生的字典數(shù)據(jù)追加到列表
info.append(info_dict)
print(info)
4.2 刪除學(xué)生信息的函數(shù)
def del_info():
"""刪除學(xué)生"""
# 1、用戶輸入要刪除的學(xué)生的姓名
del_name = input("請輸入要刪除的學(xué)生的姓名:")
global info
# 2、判斷學(xué)生是否存在
# 2.1 聲明info是全局變量
# 2.2 遍歷列表
# 2.3 判斷學(xué)生是否存在,存在則執(zhí)行刪除信息,break:不允許重名,那么刪除了一個,后面的不需要再遍歷;不存在則提示
for i in info:
if del_name == i['name']:
info.remove(i)
break
else:
print('該學(xué)生不存在!')
print(info)
4.3 修改學(xué)生信息的函數(shù)
def modify_info():
"""修改函數(shù)"""
# 1、用戶輸入要修改的學(xué)生的姓名
modify_name = input("請輸入要修改的學(xué)生的姓名:")
global info
# 2、判斷學(xué)生是否存在,如果輸入的姓名存在則修改手機號,否則則提示
for i in info:
if modify_name == i['name']:
i['tel'] = input("請輸入新的手機號:")
break
else:
print("該學(xué)生不存在")
print(info)
4.4 查詢學(xué)生信息的函數(shù)
def search_info():
"""查詢學(xué)生信息"""
# 1、輸入要查找的學(xué)生姓名
search_name = input("請輸入要查找的學(xué)生姓名:")
global info
# 2、判斷學(xué)生是否存在,如果輸入的姓名存在則顯示該學(xué)生的信息,否則則提示
for i in info:
if search_name == i['name']:
print("找到該學(xué)生的信息如下:")
print(f"該學(xué)生的學(xué)號是{i['id']},姓名是{i['name']},手機號是{i['tel']}")
break
else:
print("該學(xué)生不存在!")
4.5 顯示所有學(xué)生信息
def print_all():
"""顯示所有學(xué)生信息"""
print('學(xué)號\t姓名\t手機號')
for i in info:
print(f"{i['id']}\t{i['name']}\t{i['tel']}")
五、運行效果
添加和刪除學(xué)生信息: 1. 修改和查詢學(xué)生信息
1. 顯示所有學(xué)生信息和退出系統(tǒng)
六、完整代碼
# 定義一個函數(shù)
def info_print():
print('--------請選擇功能-----')
print('1、添加學(xué)生')
print('2、刪除學(xué)生')
print('3、修改學(xué)生')
print('4、查詢學(xué)生')
print('5、顯示所有學(xué)生')
print('6、退出系統(tǒng)')
print('-' * 20)
# 等待存儲所有學(xué)生的信息
info = []
# 1、添加學(xué)生信息的函數(shù)
def add_info():
"""添加學(xué)生函數(shù)"""
# 接受用戶輸入學(xué)生信息
# 1、用戶輸入:學(xué)號、姓名、手機號
new_id = input("輸入學(xué)號:")
new_name = input("輸入姓名:")
new_tel = input("輸入手機號:")
# 2、判斷是否添加這個學(xué)生,如果學(xué)生姓名已經(jīng)存在報錯提示,如果不存在則添加數(shù)據(jù)
global info
# 2.1 不允許姓名重復(fù):判斷用戶輸入的姓名如果和列表里面字典的name值是相等的,則提示姓名重復(fù)
for i in info:
if new_name == i['name']:
print("此用戶已經(jīng)存在,請勿重復(fù)添加")
# return 退出當(dāng)前函數(shù),后面添加信息的代碼不執(zhí)行
return
# 如果用戶輸入的姓名不存在,則添加該學(xué)生信息
info_dict = {<!-- -->'id': new_id, 'name': new_name, 'tel': new_tel}
# 將用戶輸入的數(shù)據(jù)追加到字典
# 將這個學(xué)生的字典數(shù)據(jù)追加到列表
info.append(info_dict)
print(info)
# 2、刪除學(xué)生的信息
def del_info():
"""刪除學(xué)生"""
# 1、用戶輸入要刪除的學(xué)生的姓名
del_name = input("請輸入要刪除的學(xué)生的姓名:")
global info
# 2、判斷學(xué)生是否存在
# 2.1 聲明info是全局變量
# 2.2 遍歷列表
# 2.3 判斷學(xué)生是否存在,存在則執(zhí)行刪除信息,break:不允許重名,那么刪除了一個,后面的不需要再遍歷;不存在則提示
for i in info:
if del_name == i['name']:
info.remove(i)
break
else:
print('該學(xué)生不存在!')
print(info)
# 3、修改學(xué)生的信息
def modify_info():
"""修改函數(shù)"""
# 1、用戶輸入要修改的學(xué)生的姓名
modify_name = input("請輸入要修改的學(xué)生的姓名:")
global info
# 2、判斷學(xué)生是否存在,如果輸入的姓名存在則修改手機號,否則則提示
for i in info:
if modify_name == i['name']:
i['tel'] = input("請輸入新的手機號:")
break
else:
print("該學(xué)生不存在")
print(info)
# 4、查詢學(xué)生信息
def search_info():
"""查詢學(xué)生信息"""
# 1、輸入要查找的學(xué)生姓名
search_name = input("請輸入要查找的學(xué)生姓名:")
global info
# 2、判斷學(xué)生是否存在,如果輸入的姓名存在則顯示該學(xué)生的信息,否則則提示
for i in info:
if search_name == i['name']:
print("找到該學(xué)生的信息如下:")
print(f"該學(xué)生的學(xué)號是{i['id']},姓名是{i['name']},手機號是{i['tel']}")
break
else:
print("該學(xué)生不存在!")
# 5、顯示所有學(xué)生信息
def print_all():
"""顯示所有學(xué)生信息"""
print('學(xué)號\t姓名\t手機號')
for i in info:
print(f"{i['id']}\t{i['name']}\t{i['tel']}")
# 系統(tǒng)功能需要循環(huán)使用,直到用戶輸入6,才退出系統(tǒng)
while True:
# 1、顯示功能界面
info_print()
# 2、用戶輸入功能序號
user_num = eval(input('請輸入功能序號:'))
# 3、按照用戶輸入的功能序號,執(zhí)行不同的功能(函數(shù))
# 如果用戶輸入1,就執(zhí)行添加學(xué)生的功能
if user_num == 1:
add_info()
# print('添加學(xué)生')
elif user_num == 2:
del_info()
# print('刪除學(xué)生')
elif user_num == 3:
modify_info()
# print('修改學(xué)生')
elif user_num == 4:
search_info()
# print('查詢學(xué)生')
elif user_num == 5:
print_all()
# print('顯示所有學(xué)生')
elif user_num == 6:
exit_flag = input("確定要退出嗎?yes/no?")
if exit_flag == 'yes':
break
# print('退出系統(tǒng)')
else:
print('輸入的功能序號有誤!')
推薦閱讀:
入門: 最全的零基礎(chǔ)學(xué)Python的問題 | 零基礎(chǔ)學(xué)了8個月的Python | 實戰(zhàn)項目 |學(xué)Python就是這條捷徑
干貨:爬取豆瓣短評,電影《后來的我們》 | 38年NBA最佳球員分析 | 從萬眾期待到口碑撲街!唐探3令人失望 | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個海量小姐姐素描圖 |碟中諜這么火,我用機器學(xué)習(xí)做個迷你推薦系統(tǒng)電影
趣味:彈球游戲 | 九宮格 | 漂亮的花 | 兩百行Python《天天酷跑》游戲!
AI: 會做詩的機器人 | 給圖片上色 | 預(yù)測收入 | 碟中諜這么火,我用機器學(xué)習(xí)做個迷你推薦系統(tǒng)電影
小工具: Pdf轉(zhuǎn)Word,輕松搞定表格和水印! | 一鍵把html網(wǎng)頁保存為pdf!| 再見PDF提取收費! | 用90行代碼打造最強PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換 | 制作一款釘釘?shù)蛢r機票提示器! |60行代碼做了一個語音壁紙切換器天天看小姐姐!|
年度爆款文案
點閱讀原文,看B站80行代碼pdf轉(zhuǎn)word!

