Python用def函数实现名片管理系统

**

整个名片管理系统由7个函数来实现

**

函数分为三个部分

定义一个列表用于存放所用的信息
PartA:
为首的功能菜单函数:
实现了功能区域的介绍和选项对照

PartB:
中间的功能函数 增删改查 和查询全部:
增添函数:
1:键盘录入 姓名 QQ 微信 地址 信息
2:定义一个字典把这些录入的信息存放删除线格式 在字典中
3:把字典的内容添加到列表中
删除函数:
1:输入要删除人的姓名
2:定义一个参数为0 默认表示没有找到要删除人的信息
3:if判断 如果输入的姓名列表中存在 参数值改为1
4:remove关键词删除这个人 同时打印一句提示删除成功
5:如果参数为0 也提示没有找到要删除的人的信息
修改函数
1:输入要修改人的姓名
2:定义三个参数 find_flag change_flag sign默认都为0
参数1默认为没找到 参数2判断是否修改成功 参数3用于每次循环的自增
3:for进行遍历列表 sign每次自增1
4:if判断 如果输入的姓名列表中存在 参数值改为1
并且提示 修改界面 5个选项
1 修改姓名
2 修改qq
3 修改微信
4 修改地址
5 退出修改系统 用print以此打印
5:while死循环中 键盘录入任意数字
6:if判断语句在对应的编号下修改相应的信息 如果相对应修改find_flag的值为1
7:若输入数字不存在直接break并且提示输入有误重新输入
8:对find_flag进行判断 如果为1 print修改成功 然后break
9:整个while死循环的break
查询单个函数:
1:输入要查询人的姓名
两个print打印对应姓名的信息:
print(“您要查找的人的信息为:”)
print(“姓名\t\tQQ\t\t\t微信\t\t住址”)
2:定义一个参数 默认为0 表示没有查询到
3:for进行遍历列表 然后打印对应的对应的信息 同时参数修改为1
修改为1表示查询到了
4:判断定义的参数 如果还为0 就提示 没找到到
显示所有的信息函数:
print(“姓名\t\tQQ\t\t\t微信\t\t住址”) #打印所有人的信息
for temp in card_infors:
print("%-10s %-10s %-10s %s"%(temp[‘name’],temp[‘qq’],temp[‘weixin’],temp[‘addr’]))

PartC:
结尾的主函数:
1:调用为首的功能菜单函数
2:while死循环体中:
键盘录入任意数字 记得使用int把录入的str类型强制转换类型
通过六层if的判断 去做每个数字对应的功能函数
如果录入的数字不存在的话就跳出并提示输入有误重新输入

最后调用结尾的主函数实现程序的运转

代码来源:
转自于这位博主的源码```

"""
名片管理系统
姓名 QQ 微信 地址
1 实现添加新的名牌你
2 删除一个名片
3 修改一个名片
4 查询一个名片
4 显示所有的名片
5 推出系统
除非点击6 不然一直循环

"""

print("欢迎进入机锋信息录入系统")

card = []           #定义一个列表用来存放名片的信息

def print_menu():           #选择项目
    print("="*20)
    print("<名片管理系统V0.1>")
    print("1: 添加一个新的名片")
    print("2: 删除一个名片")
    print("3: 修改一个名片")
    print("4: 查找一个名片")
    print("5: 显示所有的名片信息")
    print("6: 退出名片管理系统")
    print("="*20)

def add_element():          #add函数用于添加元素
    name = input("输入您的名字: ")
    qq = int(input("输入您的qq号码: "))
    wechat = int(input("输入您的wechat号码: "))
    addes = input("输入您的地址: ")

    infor_dict = {}         # 定义一个字典
    infor_dict['name'] = name   # 把键盘录入的元素存放到字典里面
    infor_dict['qq'] = qq
    infor_dict['wechat'] = wechat
    infor_dict['addes'] = addes

    card.append(infor_dict)     #把字典里的值添加到列表中
    print("添加成功!")


def dele_element():     #dele函数用于删除元素
    dele_name = input("您要删除的姓名:")
    find_flag = 0;      #默认表示没有找到
    for temp in card:
        if dele_name == temp["name"]:   #如果找到了要删除的人 就把find_flag修改为1
            find_flag = 1;
            card.remove(temp)       # 用remove关键词删除字典中的姓名    列表为外围所以remove更好用

            print("删除成功!")       # 做提示
            break

    if find_flag == 0:
        print("没有找到要删除人的信息 ")


def change_element():    #change函数用来修改元素
    change_name = input("您要修改的姓名:")
    find_flag = 0;          # 默认表示没找到
    change_flag = 0;        # 判断修改是否成功 默认0为修改失败
    sign = 0;               # 每次自增1用来逐一查找数据
    for temp in  card:
        sign+=1
        if change_name == temp["name"]:
            find_flag = 1
            print("1:修改姓名")
            print("2:修改QQ")
            print("3:修改微信")
            print("4:修改地址")
            print("5:退出修改系统")
        while True:
            num2 = int(input("请输入您要修改信息的编号"))
            if num2 == 1:
                card[sign-1]["name"] =input("请输入正确的姓名:")    #sign-1意思为 回退
                change_flag = 1
            elif num2 == 2:
                card[sign-1]["name"] =input("请输入正确qq:")
                change_flag = 1
            elif num2 == 3:
                card[sign - 1]["name"] = input("请输入正确wechat:")
                change_flag = 1
            elif num2 == 4:
                card[sign - 1]["name"] = input("请输入正确add:")
                change_flag = 1
            elif num2 == 5:
                print("输入有误 请重新输入")
                if change_flag == 1:
                    print("修改成功")
                    break
        break
def find_element():     #find函数用来查询单个人的信息

    find_name = input("您要查找的名字:")
    find_flag = 0
    print("您要查找的人的信息为:")                    #打印对应姓名的信息
    print("姓名\t\tQQ\t\t\t微信\t\t住址")

    for temp in card:
        if find_name == temp["name"]:
            print("%-8s %-8s %-8s %s"%(temp['name'],temp['qq'],temp['wechat'],temp['addes']))
            find_flag = 1;

    if find_flag == 0:
            print("您查询的人不存在")

def show_all():
    print("姓名\t\tQQ\t\t\t微信\t\t住址")

    for temp in card:       #直接显示出系统中已经存在的信息

            print("%-8s %-8s %-8s %s"%(temp['name'],temp['qq'],temp['wechat'],temp['addes']))



def main():
    print_menu()        #开始要选择的信息
    while True:
        num = int(input("输入你要选择的号码:"))      #对应的数字执行对应的函数

        if num == 1:
            add_element()
        elif num == 2:
            dele_element()
        elif num == 3:
            change_element()
        elif num == 4:
            find_element()
        elif num == 5:
            show_all()
        elif num == 6:
            print("退出系统成功!!!")
            break
        else:
            print("输入有误 重新输入")
        print("")

main()          #调用main函数 实现整个循环体

侵删

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值