本文實例為大家分享了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('名片不存在!!!')
執行結果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 教你用python實現一個無界面的小型圖書管理系統
- python實現學生管理系統源碼
- 基于python實現銀行管理系統
- 基于python實現圖書管理系統
- Python實現學生管理系統的代碼(JSON模塊)
- python實現學生通訊錄管理系統
- 使用python實現學生信息管理系統
- 利用Python實現學生信息管理系統的完整實例
- 教你用Python實現簡易版學生信息管理系統(含源碼)