簡(jiǎn)易學(xué)生信息管理系統(tǒng)(Python版)
點(diǎn)擊上方“菜學(xué)Python”,選擇“星標(biāo)”公眾號(hào)
超級(jí)無(wú)敵干貨,第一時(shí)間送達(dá)!?。?/span>

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

