使用python完成一个名片管理器,名片管理器具有一个菜单页面和以下功能

1.  完成一个名片管理器,名片管理器具有一个菜单页面和以下功能:

      1)添加名片

      2)删除名片

      3)修改名片

      4)查询名片

      5)获取所有名片信息

      6)退出系统

要求:(1) 在运行过程中程序应当可以接收多次选项并执行对应的功能(可以使用无限循环完成该功能)

            (2)将名片信息存储到文件中,并且每次打开管理器时可以从文件中获取已存储的名片信息,并且可以对文件读取出的名片信息进行相关增删改查操作

import os

if not os.path.exists('D:\\文件系统.txt'):
    f1 = open(r'D:\\文件系统.txt', 'w')
    f1.close()


class Card(object):

    def __init__(self, name, num):
        self.name = name
        self.num = num


list1 = []


def write_card():
    with open('D:\\文件系统.txt', 'w', encoding='utf-8') as f:
        for i in list1:
            f.write('%s,%s' % (i.name, i.num))
            f.write('\n')


def read_card():
    with open('D:\\文件系统.txt', 'r', encoding='utf-8') as f:
        for i in f:
            if i.isspace():
                continue
            person = i.split(',')
            list1.append(Card(person[0], person[1]))


def menu1():
    print('-' * 40)
    print('  名片管理系统   ')
    print("1)添加名片")
    print("2)删除名片")
    print("3)修改名片")
    print("4)查询名片")
    print("5)获取所有名片信息")
    print("6)退出系统")
    print('-' * 40)
    read_card()
    get_choice()


def get_choice():
    key = int(input("请输入您选择的序号:"))
    if key == 1:
        fun1()
    elif key == 2:
        fun2()
    elif key == 3:
        fun3()
    elif key == 4:
        fun4()
    elif key == 5:
        fun5()
    elif key == 6:
        fun6()
    else:
        print("无此功能,请重新输入!")
        get_choice()


def fun1():
    print('=' * 40)
    print("添加名片:")
    name = input("请输入姓名:")
    num = input("请输入电话号码:")
    mp = Card(name, num)
    list1.append(mp)
    print("添加成功!")
    print('=' * 40)
    get_choice()


def fun2():
    print('=' * 40)
    print("删除名片:")
    name = input(print("请输入需删除的名片姓名:"))
    for i in list1:
        if i.name == name:
            list1.remove(i)
            print("删除成功!")
            break
    else:
        print("此名片不存在!")
    print('=' * 40)
    get_choice()


def fun3():
    print('=' * 40)
    print("修改名片:")
    name = input(print("请输入原姓名:"))
    print("请输入需修改的内容序号:")
    print("1)姓名")
    print("2)电话号码")
    x = int(input())
    if x == 1:
        name1 = input(print("请输入新姓名:"))
        for i in list1:
            if i.name == name:
                i.name = name1
                print("修改成功!")
                break
        else:
            print("原名片不存在!")
    elif x == 2:
        num1 = input(print("请输入新电话号码:"))
        for i in list1:
            if i.name == name:
                i.num = num1
                print("修改成功!")
                break
        else:
            print("原名片不存在!")
    else:
        print("请输入正确的序号!")

    print('=' * 40)
    get_choice()


def fun4():
    print('=' * 40)
    print("查询名片:")
    name = input(print("请输入需查询的姓名:"))
    for i in list1:
        if i.name == name:
            print("该名片存在:", end=' ')
            print(i.name, i.num)
            break
    else:
        print("此名片不存在!")
    print('=' * 40)
    get_choice()


def fun5():
    print('=' * 40)
    print("获取所有名片信息:")
    for i in list1:
        print(i.name, i.num)
    print()
    print('=' * 40)
    get_choice()


def fun6():
    print('=' * 40)
    write_card()
    print("退出系统成功!")
    print('=' * 40)


menu1()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值