编写程序,完成“名片管理器”项目 # 需要完成的基本功能: # 1 添加名片 # 2 删除名片 # 3 修改名片 # 4 查询名片 # q 退出系统 # 程序运行后,除非选择退出系统,否则重复执行功能
时间: 2024-10-23 08:12:04 浏览: 10
编写一个简单的名片管理器程序,你可以按照以下步骤设计:
首先,创建一个`Card`类来表示一张名片,包含属性如姓名、职位、联系方式等,并提供相应的方法来进行添加、删除、修改和查询操作。
```python
class Card:
def __init__(self, name, title, contact):
self.name = name
self.title = title
self.contact = contact
def display(self):
print(f"姓名: {self.name}, 职位: {self.title}, 联系方式: {self.contact}")
def update(self, name=None, title=None, contact=None):
if name is not None:
self.name = name
if title is not None:
self.title = title
if contact is not None:
self.contact = contact
@classmethod
def add_card(cls, new_card_data):
# 根据新数据创建并添加新的名片实例
@classmethod
def delete_card(cls, card_name):
# 按名称查找并删除名片
@classmethod
def search_card(cls, query):
# 根据查询条件返回匹配的名片信息
```
接下来,创建一个`NameManager`类,作为主界面,负责用户交互:
```python
class NameManager:
def __init__(self):
self.cards = []
def run(self):
while True:
user_input = input("请输入选项(1-添加,2-删除,3-修改,4-查询,q-退出): ")
if user_input == "1":
self.add_card()
elif user_input == "2":
self.delete_card()
elif user_input == "3":
self.update_card()
elif user_input == "4":
self.search_card()
elif user_input.lower() == "q":
break
else:
print("无效输入,请重新尝试.")
def add_card(self):
name = input("请输入姓名: ")
title = input("请输入职位: ")
contact = input("请输入联系方式: ")
self.cards.append(Card(name, title, contact))
def delete_card(self):
name = input("请输入要删除的名片名称: ")
for card in self.cards:
if card.name == name:
self.cards.remove(card)
break
def update_card(self):
name = input("请输入要修改的名片名称(空值则更新所有): ")
if name:
index = -1
for i, card in enumerate(self.cards):
if card.name == name:
index = i
break
card.update()
else:
for card in self.cards:
card.update()
def search_card(self):
keyword = input("请输入搜索关键词: ")
matching_cards = [card for card in self.cards if keyword in card.name or keyword in card.title]
if matching_cards:
for card in matching_cards:
card.display()
else:
print("未找到匹配的名片。")
if __name__ == "__main__":
NameManager().run()
```
这个示例展示了基本的名片管理器功能,你可以根据需求进一步完善错误处理和用户体验。运行此程序后,用户可以按照提示进行名片的操作,直到选择退出。
阅读全文