Python实现名片管理系统

需要完成的基本功能:

  1. 添加名片
  2. 删除名片
  3. 修改名片
  4. 查询名片
  5. 退出系统
    程序运行后,除非选择退出系统,否则重复执行功能
    注:系统中存储的名片中,电话不能重复
def add_card():
    """添加名片"""
    inname = input('请输入姓名:')
    intel = input('请输入电话:')
    inage = input('请输入年龄:')
    inoccupation = input('请输入职业:')
    # 判断该名片是否已经存在
    for call_card in call_cards:
        if call_card['tel'] == intel:   #为真表示名片已存在
            print('该名片已存在')
            return
    #名片系统中不存在该名片,新增
    call_cards.append({'name': inname, 'tel': intel, 'age': inage, 'occupation': inoccupation})
    print('名片添加成功!')


def del_card():
    """删除名片"""
    intel = input('请输入要删除的名片的电话:')

    for call_card in call_cards:
        if call_card['tel'] == intel:
            # 找到该名片,并将其删除
            call_cards.remove(call_card)
            print('已成功删除名片:', intel)
            return
    #要删除的名片不存在
    print('该名片不存在!')


def change_card():
    """修改名片"""
    intel = input('请输入需要修改的名片人的电话:')

    for call_card in call_cards:
        if call_card['tel'] == intel:
            # 询问是否需要修改电话号码,需要则修改
            answer = input('你需要修改电话号码(%s)吗(y/n):' % call_card['tel'])
            if answer == 'y':
                new_tel = input('请输入新的电话号码:')
                call_card['tel'] = new_tel

            # 询问是否需要修改姓名,需要则修改
            answer = input('你需要修改姓名(%s)吗(y/n):' % call_card['name'])
            if answer == 'y':
                new_name = input('请输入新的姓名:')
                call_card['name'] = new_name

            # 询问是否需要修改年龄,需要则修改
            answer = input('你需要修改年龄(%s)吗(y/n):' % call_card['age'])
            if answer == 'y':
                new_age = input('请输入新的年龄:')
                call_card['age'] = new_age

            # 询问是否需要修改职业,需要则修改
            answer = input('你需要修改职业(%s)吗(y/n):' % call_card['occupation'])
            if answer == 'y':
                new_occupation = input('请输入新的职业:')
                call_card['occupation'] = new_occupation

            # new_name = input('请输入新的姓名:')
            # new_tel = input('请输入新的电话号码:')
            # new_age = input('请输入新的年龄:')
            # new_occupation = input('请输入新的职业:')
            #
            # call_card['name'] = new_name
            # call_card['tel'] = new_tel
            # call_card['age'] = new_age
            # call_card['occupation'] = new_occupation
            print('名片修改成功!')
            return
    #名片不存在
    print('该名片不存在!')


def find_card():
    """查找名片"""
    intel = input('请输入要查询名片人的电话:')

    for call_card in call_cards:
        if call_card['tel'] == intel:
            print('\t姓名:' + call_card['name'])
            print('\t电话:' + call_card['tel'])
            print('\t年龄:' + call_card['age'])
            print('\t职业:' + call_card['occupation'])
            return
    #查询的名片不存在
    print('你所查询的名片不存在!')


#创建名片列表(字典列表,字典中分别存储姓名和电话)
call_cards = []

#显示用户可进行的操作
print("****************名片管理系统******************")
print("用户选项:")
print('1、添加名片')
print('2、删除名片')
print('3、修改名片')
print('4、查询名片')
print('5、退出系统')


while 1:
    #用户选择操作
    user_choose = int(input('请输入你要操作的对应序号:'))

    #根据用户的输入确定具体操作
    # ******添加名片******
    if user_choose == 1:
        add_card()

    # ******删除名片******
    elif user_choose == 2:
        del_card()

    # ******修改名片*******
    elif user_choose == 3:
        change_card()

    # ******查询名片******
    elif user_choose == 4:
        find_card()

    # ******退出系统******
    elif user_choose == 5:
        sys_quit = input("确认退出请按q:")
        if sys_quit == 'q':
            break

    #****** 输入错误******
    else:
        print('输入错误,没有该选项,请重新选择!')

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面为您介绍一种实现名片管理系统Python 面向对象的方法。 首先,我们需要确定名片类的属性,比如姓名、电话、公司、职位等。在这里,我们定义一个名片类,包含如下属性: - name:姓名 - phone:电话 - company:公司 - position:职位 接下来,我们需要实现名片管理系统的基本功能,比如添加、删除、修改和查询名片等操作。在这里,我们定义一个名片管理类,包含如下方法: - add_card():添加名片 - remove_card():删除名片 - modify_card():修改名片 - search_card():查询名片 - show_all_cards():显示所有名片 下面是完整的实现代码: ```python class Card: def __init__(self, name, phone, company, position): self.name = name self.phone = phone self.company = company self.position = position class CardManager: def __init__(self): self.cards = [] def add_card(self, card): self.cards.append(card) def remove_card(self, name): for card in self.cards: if card.name == name: self.cards.remove(card) def modify_card(self, name, new_phone, new_company, new_position): for card in self.cards: if card.name == name: card.phone = new_phone card.company = new_company card.position = new_position def search_card(self, name): for card in self.cards: if card.name == name: print(f"姓名:{card.name}\n电话:{card.phone}\n公司:{card.company}\n职位:{card.position}") break else: print("该名片不存在!") def show_all_cards(self): for card in self.cards: print(f"姓名:{card.name}\n电话:{card.phone}\n公司:{card.company}\n职位:{card.position}") print("-" * 30) if __name__ == '__main__': card_manager = CardManager() card1 = Card("张三", "12345678901", "ABC公司", "经理") card2 = Card("李四", "23456789012", "DEF公司", "主管") card3 = Card("王五", "34567890123", "GHI公司", "职员") card_manager.add_card(card1) card_manager.add_card(card2) card_manager.add_card(card3) card_manager.show_all_cards() card_manager.search_card("张三") card_manager.modify_card("张三", "11111111111", "XYZ公司", "高级经理") card_manager.show_all_cards() card_manager.remove_card("李四") card_manager.show_all_cards() ``` 运行程序,输出如下: ``` 姓名:张三 电话:12345678901 公司:ABC公司 职位:经理 ------------------------------ 姓名:李四 电话:23456789012 公司:DEF公司 职位:主管 ------------------------------ 姓名:王五 电话:34567890123 公司:GHI公司 职位:职员 ------------------------------ 姓名:张三 电话:12345678901 公司:ABC公司 职位:经理 ------------------------------ 姓名:李四 电话:23456789012 公司:DEF公司 职位:主管 ------------------------------ 姓名:王五 电话:34567890123 公司:GHI公司 职位:职员 ------------------------------ 姓名:张三 电话:11111111111 公司:XYZ公司 职位:高级经理 ------------------------------ 姓名:李四 电话:23456789012 公司:DEF公司 职位:主管 ------------------------------ 姓名:王五 电话:34567890123 公司:GHI公司 职位:职员 ------------------------------ 姓名:张三 电话:11111111111 公司:XYZ公司 职位:高级经理 ------------------------------ 姓名:王五 电话:34567890123 公司:GHI公司 职位:职员 ------------------------------ ``` 以上就是一个简单的名片管理系统Python 实现,您可以根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值