1. 程式人生 > >Python基礎(7)——名片管理系統(實現了資料簡單的儲存、修改、刪除、檢視等)

Python基礎(7)——名片管理系統(實現了資料簡單的儲存、修改、刪除、檢視等)

進行了一些Python基礎知識的學習後,將這些知識進行綜合,實現了名片管理小系統,可以進行資料的增刪改查。

主要思路是將名片(資訊)存進字典裡,再將字典存入列表裡,方便進行增刪改查。

程式碼如下:

#-*-encoding:utf-8-*-
#用來儲存名片
card_infors = []

def print_menu():
    #完成列印功能選單
    print("="*50)
    print("   名片管理系統 V0.01")
    print(" 1. 新增一個新的名片")
    print(" 2. 刪除一個名片")
    print(" 3. 修改一個名片")
    print(" 4. 查詢一個名片")
    print(" 5. 顯示所有的名片")
    print(" 6. 退出系統")
    print("="*50)

def add_new_card_infor():
    #完成新增一個新的名片
    new_name = raw_input("請輸入新的名字:")
    new_qq = raw_input("請輸入新的QQ:")
    new_weixin = raw_input("請輸入新的微信:")
    new_addr = raw_input("請輸入新的住址:")

    #定義一個新的字典,用來儲存一個新的名片
    new_infor = {}
    new_infor['name'] = new_name
    new_infor['qq'] = new_qq
    new_infor['weixin'] = new_weixin
    new_infor['addr'] = new_addr

    #將一個字典,新增到列表中
    global card_infors
    card_infors.append(new_infor)

    #print(card_infors)# for test

def find_card_infor():
	global card_infors
	find_name = raw_input("請輸入要查詢的姓名:")
	find_flag = 0 #預設表示沒有找到
	for temp in card_infors:
		if find_name == temp["name"]:
			print("%s\t%s\t%s\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr']))
			find_flag = 1
			break
	if find_flag == 0:
		print("不能找到這個人")

def show_all_inf():
	global card_infors
	print("姓名\tQQ\tweixin\t地址")

	for temp in card_infors:
		print("%s\t%s\t%s\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr']))
  #  print("-------顯示完畢--------")

def modify_inf():
	#修改函式
	global card_infors
	mod_name = raw_input("請輸入需要修改的名字:")
	for temp in card_infors:
		if temp['name'] == mod_name:
			temp['name'] = raw_input("請輸入新的名字:")
			temp['qq'] = raw_input("請輸入新的qq:")
			temp['weixin'] = raw_input("請輸入新的微信:")
			temp['addr'] = raw_input("請輸入新的住址:")
			print("-------修改完畢--------")
			return 
	print("-------查無此人--------")

def delete_inf():
	#刪除函式
	global card_infors
	del_name = raw_input("請輸入要刪除的姓名:")
	for temp in card_infors:
		if temp['name'] == del_name:
			card_infors.remove(temp)
			break
	print("-------刪除完畢--------")

def main():
	#完成對整個模組的呼叫
	print_menu()

	while True:
		#獲取使用者輸入
		num = input("請輸入選擇:")
		if num == 1:
			add_new_card_infor()
		elif num == 2:
			delete_inf()
		elif num == 3:
			modify_inf()
		elif num == 4:
			find_card_infor()
		elif num == 5:
			show_all_inf()
		elif num == 6:
			break
		else:
			print("輸入有誤,重新輸入")
main() #執行主函式