如何使用python制作名片管理系统
思路详解:
1、确定系统的主要功能。
主要就是增删改查+退出,如果还想做其它的功能可以另加
2、确定代码的整体框架。
我们想做的无非是按下1234等开始执行相对应的功能,再把这些功能逐一利用函数封装起来(函数命名时要顾名思义),最后再把定义的这些分散的函数用main函数封装,这样就使得代码很清晰、整洁,而且自己编写的时候也会得心应手。
3、开始编写。
先把整体框架搭建好,再往里面填写代码。建议编写完一个功能之后马上测试,以防不测!!
4、修饰。
基本功能做好之后,可以加一些特殊符号使输出变得更美观;把对应的注释写完,便于以后看的时候不会蒙圈,也可以边写代码边写注释
5、整体测试。
功能实现了,菜单好看了,接下来就欣赏自己的大作吧!
所有代码如下:
#coding=utf-8
#系统的主要功能
def print_menu():
print("=====欢迎来到名片管理系统!以下为主要功能!=====")
print("1:增加一个新的名片")
print("2:删除一个名片")
print("3:修改一个名片")
print("4:查找一个名片")
print("5:显示所有名片")
print("6:退出系统")
print("="*50)
#添加名片函数
def add_new_card_infor():
print("="*50)
new_name = input("请输入姓名:")
new_qq = input("请输入QQ:")
new_weixin = input("请输入微信:")
new_addr = 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("=====================")
#删除名片函数
def del_card_infor():
print("="*50)
del_name = input("请输入需要删除的名字:")
del_flag = 0
for temp in card_infors:
if del_name == temp['name']:
card_infors.remove(temp)
del_flag = 1
print("删除成功!")
print("==================")
break
if del_flag == 0:
print("没有这个人!")
print("==================")
#修改名片函数
#这块可能有点烧脑,如有问题请在下方留言,看到后第一时间回复!
def modify_card_infor():
print("="*50)
modify_name = input("请输入要修改的人的姓名:")
find_flag = 0 #默认表示没有找到
modify_flag = 0 #判断是否修改成功,默认修改失败
sign = 0
for temp in card_infors:
sign+=1
if modify_name == temp["name"]:
find_flag = 1
print("=====进入修改系统,功能如下=====")
print("11.修改姓名")
print("22.修改QQ")
print("33.修改weixin")
print("44.修改地址")
print("55.退出修改系统")
print("="*20)
while True:
num2 = input("修改功能:请输入你要修改的信息的编号:")
if num2==11:
card_infors[sign-1]["name"] = input("请输入您要修改的正确姓名:")
modify_flag = 1
elif num2==22:
card_infors[sign-1]["qq"] = int(input("请输入您要修改的正确QQ:"))
modify_flag = 1
elif num2==33:
card_infors[sign-1]["weixin"] = input("请输入您要修改的正确weixin:")
modify_flag = 1
elif num2==44:
card_infors[sign-1]["addr"] = input("请输入您要修改的正确地址:")
modify_flag = 1
elif num2==55:
print("退出修改系统,成功返回主菜单!")
break
else:
print("输入有误,请重新输入:")
if modify_flag == 1:
print("修改成功!")
print("%s\t%s\t%s\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr']))
else:
print("找不到这个人!将要返回主菜单!")
print("="*50)
#查找名片函数
def find_card_infor():
print("="*50)
#glebal card_infors
find_name = 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
print("=====================")
break
if find_flag == 0:
print("没有这个人!")
print("=====================")
#显示所有名片
def shou_all_infor():
print("姓名\tQQ\t微信\t住址")
for temp in card_infors:
print("%s\t%s\t%s\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr']))
card_infors = [] #定义列表,用来存储名片,写在上面也行
print_menu()
#下面开始进入主菜单,执行功能
#while True的作用是保证系统执行完一个操作之后不会自动退出
def main():
while True:
num = int(input("主菜单:请输入要执行的功能序号:"))
if num == 1:
add_new_card_infor()
elif num == 2:
del_card_infor()
elif num == 3:
modify_card_infor()
elif num == 4:
find_card_infor()
elif num == 5:
shou_all_infor()
elif num == 6:
print("谢谢使用,再见!")
break
else:
print("你输入的有错误,请重新输入!")
print("="*50)
main() #调用main函数,系统开始执行!