python實(shí)現(xiàn)簡(jiǎn)易名片管理系統(tǒng)
本文實(shí)例為大家分享了python實(shí)現(xiàn)名片管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
功能需求
- 用戶(hù)輸入數(shù)字選擇要進(jìn)行的操作
- 添加名片
- 刪除名片
- 修改名片
- 查詢(xún)名片
- 顯示所有名片
- 退出系統(tǒng)
缺點(diǎn)(待改進(jìn))
數(shù)據(jù)未保存到后臺(tái),添加的數(shù)據(jù)僅限當(dāng)次運(yùn)行程序時(shí)使用
話(huà)不多說(shuō),上代碼!
主程序
# coding=utf8 from method import * # 導(dǎo)入定時(shí)器是為了方便觀察每次操作的結(jié)果 from time import sleep cards = [] # 讓這個(gè)程序無(wú)限循環(huán),直到用戶(hù)想要其終止 while True: sleep(1) menu() ope_num = input('請(qǐng)輸入要進(jìn)行的操作(1-6): ') if ope_num == '1': addinfo(cards) elif ope_num == '2': delinfo(cards) elif ope_num == '3': updateinfo(cards) elif ope_num == '4': searchinfo(cards) elif ope_num == '5': showinfo(cards) elif ope_num == '6': sure = input('你確定要退出系統(tǒng)嗎(YES/NO)') if sure.upper() == 'YES': break else: print('輸入錯(cuò)誤,請(qǐng)重新輸入?。。。〝?shù)字1-6)')
函數(shù)文件
# 定義一個(gè)menu方法 def menu(): print('------------------\n' '\t名片管理系統(tǒng)\n' '1:添加名片\n' '2:刪除名片\n' '3:修改名片\n' '4:查詢(xún)名片\n' '5:顯示所有名片\n' '6:退出系統(tǒng)\n' '------------------') # 添加名片 def addinfo(lists): # 定義一個(gè)字典,存放這個(gè)名片的信息 info = {} # 獲取姓名 def getname(): name = input('請(qǐng)輸入姓名: ') # 判斷姓名是否由 數(shù)字、字母、數(shù)字和字母 組成,即:不能包含標(biāo)點(diǎn)符號(hào)和空格,不能為空 # 如果不符合要求,提示檢查,并重新輸入 # 一直提示用戶(hù)輸入,直到符合要求 while name.isalnum() != True: print('請(qǐng)檢查輸入!?。?(不能包含標(biāo)點(diǎn)符號(hào)和空格,不能為空) ') name = input('請(qǐng)輸入姓名: ') return name # 獲取手機(jī)號(hào) def getphone(): phone = input('請(qǐng)輸入手機(jī)號(hào): ') # 判斷手機(jī)號(hào)是否由 11位數(shù)字 組成 # 如果不符合要求,提示檢查,并重新輸入 while (len(phone) != 11) or (phone.isdigit() != True): print('請(qǐng)檢查輸入!??! (由11位純數(shù)字組成,不能為空) ') phone = input('請(qǐng)輸入手機(jī)號(hào): ') return phone # 獲取QQ號(hào) def getqq(): qq = input('請(qǐng)輸入QQ號(hào): ') # 判斷QQ號(hào)是否由 5-10位數(shù)字 組成 # 如果不符合要求,提示檢查,并重新輸入 while ((len(qq) < 5) or (len(qq) > 10)) or (qq.isdigit() != True): print('請(qǐng)檢查輸入!?。?(由5-10位純數(shù)字組成,不能為空) ') qq = input('請(qǐng)輸入QQ號(hào): ') return qq # 如果該名片的序號(hào)為,列表長(zhǎng)度+1 info['num'] = len(lists) + 1 # 通過(guò)調(diào)用其他函數(shù)獲取對(duì)應(yīng)信息 info['name'] = getname() info['phone'] = getphone() info['qq'] = getqq() # 將該字典存入名片列表中 lists.append(info) print('添加成功!') showinfo(lists) # 輸出所有名片列表 def showinfo(lists): print('序號(hào)\t姓名\t\t手機(jī)號(hào)\t\tQQ號(hào)'.ljust(30)) for lis in lists: for value in lis.values(): print(value, end='\t') print('\n') # 刪除名片 def delinfo(lists): del_name = input('請(qǐng)輸入您需要?jiǎng)h除名片的姓名: ') flag = True for lis in lists: if lis['name'] == del_name: lists.remove(lis) print('刪除成功!') showinfo(lists) flag = False break if flag == True: print('名片不存在?。?!') # 修改名片 def updateinfo(lists): upd_name = input('請(qǐng)輸入您需要修改名片的姓名: ') flag = True for lis in lists: if lis['name'] == upd_name: lis['name']=input('請(qǐng)輸入新姓名: ') lis['phone']=input('請(qǐng)輸入新手機(jī)號(hào): ') lis['qq']=input('請(qǐng)輸入新QQ號(hào): ') print('修改成功!') showinfo(lists) flag = False break if flag == True: print('名片不存在?。?!') # 查詢(xún)名片 def searchinfo(lists): se_name = input('請(qǐng)輸入您需要查詢(xún)的姓名: ') flag = True for lis in lists: if lis['name'] == se_name: print('序號(hào)\t姓名\t\t手機(jī)號(hào)\t\tQQ號(hào)'.ljust(30)) for value in lis.values(): print(value, end='\t') print('\n') flag = False break if flag == True: print('名片不存在?。?!')
執(zhí)行結(jié)果
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python名片管理系統(tǒng)+猜拳小游戲案例實(shí)現(xiàn)彩(色控制臺(tái)版)
- python實(shí)現(xiàn)簡(jiǎn)單的名片管理系統(tǒng)
- Python實(shí)戰(zhàn)之實(shí)現(xiàn)簡(jiǎn)單的名片管理系統(tǒng)
- python3實(shí)現(xiàn)名片管理系統(tǒng)(控制臺(tái)版)
- python名片管理系統(tǒng)開(kāi)發(fā)
- 使用python實(shí)現(xiàn)名片管理系統(tǒng)
- 用python實(shí)現(xiàn)名片管理系統(tǒng)
- Python實(shí)現(xiàn)名片管理系統(tǒng)
- Python綜合應(yīng)用名片管理系統(tǒng)案例詳解
- python實(shí)現(xiàn)一個(gè)函數(shù)版的名片管理系統(tǒng)過(guò)程解析
- 如何使用Python實(shí)現(xiàn)名片管理系統(tǒng)
相關(guān)文章
python playwright--pytest-playwright、pytest-base-url插件編
這篇文章主要介紹了python playwright--pytest-playwright、pytest-base-url插件編寫(xiě)用例,它提供上下文隔離,開(kāi)箱即用地在多個(gè)瀏覽器配置上運(yùn)行,它繼承了pytest框架,以及支持playwright的一些基礎(chǔ)使用,需要的朋友可以參考下2023-05-05python對(duì)二維數(shù)組賦值問(wèn)題
這篇文章主要介紹了python對(duì)二維數(shù)組賦值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Python編程實(shí)現(xiàn)雙擊更新所有已安裝python模塊的方法
這篇文章主要介紹了Python編程實(shí)現(xiàn)雙擊更新所有已安裝python模塊的方法,涉及Python針對(duì)模塊操作命令的相關(guān)封裝與調(diào)用技巧,需要的朋友可以參考下2017-06-06Python調(diào)用C語(yǔ)言的實(shí)現(xiàn)
這篇文章主要介紹了Python調(diào)用C語(yǔ)言的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python正則表達(dá)式抓取成語(yǔ)網(wǎng)站
做NLPproject時(shí)需要一個(gè)成語(yǔ)庫(kù),我需要的是純成語(yǔ),網(wǎng)上找的都是有詳細(xì)解釋的。于是自己寫(xiě)了一個(gè)爬成語(yǔ)的python程序2013-11-11Python黑魔法遠(yuǎn)程控制開(kāi)機(jī)的實(shí)例
這篇文章主要介紹了Python黑魔法遠(yuǎn)程控制開(kāi)機(jī)的實(shí)例,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很大的幫助,需要的朋友可以參考下2021-04-04Python中tkinter的用戶(hù)登錄管理的實(shí)現(xiàn)
這篇文章主要介紹了Python中tkinter的用戶(hù)登錄管理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Python調(diào)整PDF頁(yè)面尺寸大小的兩種方法
利用Python語(yǔ)言的高效性和靈活性,再結(jié)合Spire.PDF for Python 庫(kù)的強(qiáng)大功能,我們可以通過(guò)Python代碼輕松實(shí)現(xiàn)對(duì)PDF頁(yè)面的批量調(diào)整,在這篇文章中,我們將介紹兩種調(diào)整PDF頁(yè)面大小的方法,感興趣的朋友可以參考下2024-05-05