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() #执行主函数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangbowj123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值