python名片管理系统(列表、字典和函数的综合应用)

如何使用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函数,系统开始执行!

发布了4 篇原创文章 · 获赞 2 · 访问量 54

猜你喜欢

转载自blog.csdn.net/qq_42776165/article/details/104711648