Python-名片管理器

# 需要完成的基本功能:
#     添加名片
#     删除名片
#     修改名片
#     查询名片
#     退出系统
#     程序运行后,除非选择退出系统,否则重复执行功能
list_info = []  # 创建一个空列表


# 打印菜单
def menu():
    print("---------------------------")
    print("      名片管理系统")
    print(" 1:添加名片")
    print(" 2:删除名片")
    print(" 3:修改名片")
    print(" 4:查询名片")
    print(" 5:显示所有名片")
    print(" 6:退出系统")
    print("---------------------------")


# 添加名片
def add():
    global list_info
    name = input('请输入你的姓名:')
    position = input('请输入你的职务:')
    number = int(input('请输入你的手机号:'))
    company_name = input('请输入你的公司名称:')
    company_address = input('请输入你的公司地址:')

    for temp_info in list_info:
        if temp_info['姓名'] == name:
            print("此用户名已经被占用,请重新输入")
            return  # 如果一个函数只有return就相当于让函数结束,没有返回值
    # 创建字典,存储名片信息
    information = {
        '姓名': name,
        '职务': position,
        '手机号': number,
        '公司名称': company_name,
        '公司地址': company_address,
    }
    # 向列表中添加这个字典
    list_info.append(information)


# 删除名片
def delete():
    global list_info

    del_num = int(input("请输入要删除的序号:"))
    if 0 <= del_num < len(list_info):
        del_flag = input("你确定要删除么?yes or no")
        if del_flag == "yes":
            del list_info[del_num]
    else:
        print("输入序号有误,请重新输入")


# 修改名片
def alter():
    global list_info

    modify_num = int(input("请输入要修改的序号:"))
    if 0 <= modify_num < len(list_info):
        print("你要修改的信息是:")
        print("姓名:%s, 职务:%s, 手机号:%s, 公司名称:%s, 公司地址:%s" % (list_info[modify_num]['姓名'],
                                                          list_info[modify_num]['职务'], list_info[modify_num]['手机号'],
                                                          list_info[modify_num]['公司名称'], list_info[modify_num]['公司地址']))
        list_info[modify_num]['姓名'] = input("请输入新的姓名:")
        list_info[modify_num]['职务'] = input("请输入新的职务:")
        list_info[modify_num]['手机号'] = input("请输入新手机号:")
        list_info[modify_num]['公司名称'] = input("请输入新公司名称:")
        list_info[modify_num]['公司地址'] = input("请输入新公司地址:")
    else:
        print("输入序号有误,请重新输入")


# 查询名片
def query():
    query_name = input('请输入你要查询的名片名字:')
    for temp_info in list_info:
        if temp_info['姓名'] == query_name:
            print("查询到的信息如下:")
            print("姓名:%s, 职务:%s, 手机号:%s, 公司名称:%s, 公司地址:%s" % (
                temp_info['姓名'], temp_info['职务'], temp_info['手机号'], temp_info['公司名称'], temp_info['公司地址']))
            break
    else:
        print("没有您要找的信息....")


# 显示所有名片
def traverse():
    print("序号\t姓名\t\t职务\t\t手机号\t\t公司名称\t\t公司地址")
    i = 0
    for temp in list_info:
        # temp是一个字典
        print("%d\t%s\t\t%s\t\t%s\t\t%s\t\t%s" % (i, temp['姓名'], temp['职务'], temp['手机号'], temp['公司名称'], temp['公司地址']))
        i += 1


def main():
    while True:
        menu()
        digital = int(input('请输入相对应的功能数字:'))
        if digital == 1:
            add()
        elif digital == 2:
            delete()
        elif digital == 3:
            alter()
        elif digital == 4:
            query()
        elif digital == 5:
            traverse()
        elif digital == 6:
            break
        else:
            print('请输入错误,请重新输入')


main()
posted @ 2020-06-18 16:30  墨遗忘  阅读(1145)  评论(0)    收藏  举报