您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Python函數(shù)怎么實(shí)現(xiàn)學(xué)員管理系統(tǒng)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Python函數(shù)怎么實(shí)現(xiàn)學(xué)員管理系統(tǒng)”吧!
本文實(shí)例為大家分享了Python函數(shù)實(shí)現(xiàn)學(xué)員管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
這個(gè)是一個(gè)簡(jiǎn)單的管理程序
輸入姓名,年齡,性別(也可以添加其他類(lèi)別例如性取向),然后以列表的形式保存(默認(rèn)為空列表)。功能如下:
按1添加成員
按2刪除成員
按3修改成員信息(目前不包括姓名但是可以添加)
按4檢索并打印某個(gè)成員的全部信息
按5打印全部成員的信息
按6退出程序
大概就是這樣子。下面是代碼:
import time def main(): '''主函數(shù)''' while True: sl(),select_function() sl() user_input = input('select your operation: ') if user_input == '1': sl(),add_op() elif user_input == '2': sl(),delete_op() elif user_input == '3': sl(),alter_op() elif user_input == '4': sl(),search_op() elif user_input == '5': sl(),print_op() elif user_input == '6': print('\n system quit.') break else: sl(),print('\n plz enter correct number.') def select_function(): '''顯示系統(tǒng)功能''' print("\n1.add mbr\n2.delete mbr\n3.change info\ \n4.check info\n5.prt\'l info\n6.exit sys\n") sl() def store_new_info(): a = input('enter name: ').title() b = input('enter age: ').title() c = input('enter gender: ').title() return a,b,c def add_op(): '''添加新人''' name,age,gender = store_new_info() for i in all_info: if name == i['name'].strip(): print(f'{name} is existed.retry plz') break else: dict_inf = {} dict_inf['name'] = name dict_inf['age'] = age dict_inf['gender'] = gender all_info.append(dict_inf) print(f'{name} added.') def delete_op(): '''刪除已有人物''' del_nam = input('type the name to del:').title() for i in all_info: if del_nam == i['name'].strip(): all_info.remove(i) sl(),print(f'{del_nam} is removed.') else: sl(),print(f'no {del_nam} in list now.') def alter_op(): '''修改現(xiàn)有人物信息''' alter_nam = input('type the name who needs change: ').title() for i in all_info: if alter_nam != i['name'].strip(): continue else: i['age'] = input('type new age: ') i['gender'] = input('type new gender: ') break else: sl(),print(f'no {alter_nam} in list.') def search_op(): '''查找某個(gè)人物的信息''' se_num = input('type name to search: ').strip().title() for i in all_info: if se_num != i['name'].strip(): continue else: sl(),print(i) break def modify_op(): '''統(tǒng)一name首字母大寫(xiě)且左對(duì)齊''' b = 0 for i in range(len(all_info)): a = len(all_info[i].get('name').strip()) b = max(a,b) for i in range(len(all_info)): all_info[i]['name'] = all_info[i].get('name').strip().title().ljust(b,' ') all_info[i]['gender'] = all_info[i].get('gender').strip().title().ljust(6,' ') def print_op(): '''輸出所有人物的全部信息''' modify_op() for i in all_info: print('\n',i,'\n') def sl(): time.sleep(0.5) all_info = [] main()
簡(jiǎn)單解釋一下:
由于python中沒(méi)有switch case語(yǔ)句所以這里用if elif代替,實(shí)現(xiàn)按鍵選擇功能的需求
信息的保存是用列表和字典嵌套實(shí)現(xiàn),即形如 [{},{},{}] 的格式,每個(gè)字典里面保存一個(gè)人員的信息。
函數(shù)modify_op()是為了美化顯示,實(shí)現(xiàn)把所有成員的名字取等長(zhǎng),首字母大寫(xiě)且左對(duì)齊輸出。例如norn和scotti,后者6個(gè)字符前者4個(gè)字符,這樣就會(huì)用空格把norn補(bǔ)為6個(gè)字符。函數(shù)中大量出現(xiàn)的strip()和title()就是為此才使用的
用了一些代碼來(lái)避免bug,例如排除大小寫(xiě)的影響(vert和VERT),排除重名的可能性,排除選擇程序功能時(shí)輸入1-6之外的字符導(dǎo)致報(bào)錯(cuò),排除各種的死循環(huán)等。
由于程序沒(méi)有保存信息到文本文件的功能,所以退出程序之后所有的信息都會(huì)消失。因?yàn)槲沂怯玫氖枪雀璧脑苅de,不知道保存文件路徑怎么寫(xiě)(/gdrive/file.txt?)。so啥時(shí)候自己的電腦能拿來(lái)用了就會(huì)加上的
到此,相信大家對(duì)“Python函數(shù)怎么實(shí)現(xiàn)學(xué)員管理系統(tǒng)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。