python實現簡易名片管理系統
本文實例為大傢分享瞭python實現名片管理系統的具體代碼,供大傢參考,具體內容如下
功能需求
- 用戶輸入數字選擇要進行的操作
- 添加名片
- 刪除名片
- 修改名片
- 查詢名片
- 顯示所有名片
- 退出系統
缺點(待改進)
數據未保存到後臺,添加的數據僅限當次運行程序時使用
話不多說,上代碼!
主程序
# coding=utf8 from method import * # 導入定時器是為瞭方便觀察每次操作的結果 from time import sleep cards = [] # 讓這個程序無限循環,直到用戶想要其終止 while True: sleep(1) menu() ope_num = input('請輸入要進行的操作(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('你確定要退出系統嗎(YES/NO)') if sure.upper() == 'YES': break else: print('輸入錯誤,請重新輸入!!!(數字1-6)')
函數文件
# 定義一個menu方法 def menu(): print('------------------\n' '\t名片管理系統\n' '1:添加名片\n' '2:刪除名片\n' '3:修改名片\n' '4:查詢名片\n' '5:顯示所有名片\n' '6:退出系統\n' '------------------') # 添加名片 def addinfo(lists): # 定義一個字典,存放這個名片的信息 info = {} # 獲取姓名 def getname(): name = input('請輸入姓名: ') # 判斷姓名是否由 數字、字母、數字和字母 組成,即:不能包含標點符號和空格,不能為空 # 如果不符合要求,提示檢查,並重新輸入 # 一直提示用戶輸入,直到符合要求 while name.isalnum() != True: print('請檢查輸入!!! (不能包含標點符號和空格,不能為空) ') name = input('請輸入姓名: ') return name # 獲取手機號 def getphone(): phone = input('請輸入手機號: ') # 判斷手機號是否由 11位數字 組成 # 如果不符合要求,提示檢查,並重新輸入 while (len(phone) != 11) or (phone.isdigit() != True): print('請檢查輸入!!! (由11位純數字組成,不能為空) ') phone = input('請輸入手機號: ') return phone # 獲取QQ號 def getqq(): qq = input('請輸入QQ號: ') # 判斷QQ號是否由 5-10位數字 組成 # 如果不符合要求,提示檢查,並重新輸入 while ((len(qq) < 5) or (len(qq) > 10)) or (qq.isdigit() != True): print('請檢查輸入!!! (由5-10位純數字組成,不能為空) ') qq = input('請輸入QQ號: ') return qq # 如果該名片的序號為,列表長度+1 info['num'] = len(lists) + 1 # 通過調用其他函數獲取對應信息 info['name'] = getname() info['phone'] = getphone() info['qq'] = getqq() # 將該字典存入名片列表中 lists.append(info) print('添加成功!') showinfo(lists) # 輸出所有名片列表 def showinfo(lists): print('序號\t姓名\t\t手機號\t\tQQ號'.ljust(30)) for lis in lists: for value in lis.values(): print(value, end='\t') print('\n') # 刪除名片 def delinfo(lists): del_name = input('請輸入您需要刪除名片的姓名: ') 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('請輸入您需要修改名片的姓名: ') flag = True for lis in lists: if lis['name'] == upd_name: lis['name']=input('請輸入新姓名: ') lis['phone']=input('請輸入新手機號: ') lis['qq']=input('請輸入新QQ號: ') print('修改成功!') showinfo(lists) flag = False break if flag == True: print('名片不存在!!!') # 查詢名片 def searchinfo(lists): se_name = input('請輸入您需要查詢的姓名: ') flag = True for lis in lists: if lis['name'] == se_name: print('序號\t姓名\t\t手機號\t\tQQ號'.ljust(30)) for value in lis.values(): print(value, end='\t') print('\n') flag = False break if flag == True: print('名片不存在!!!')
執行結果
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- None Found