场景预设:创建一个手机通讯录,该通讯录具有以下功能: 1.添加联系人 2.查看通讯录 3.删除联系人 4.修改联系人信息 5. 查找联系人 6.退出 本实例要求联系人从键盘输入用python编写程序实现上诉功能。
时间: 2024-10-21 10:01:41 浏览: 14
为了创建一个简单的命令行版手机通讯录应用,你可以使用Python的基本交互式控制台,结合字典数据结构来存储联系人信息。下面是一个简化的例子:
```python
class AddressBook:
def __init__(self):
self.contacts = {}
# 添加联系人
def add_contact(self, name, phone_number):
if name not in self.contacts:
self.contacts[name] = phone_number
print(f"联系人 {name} 已添加,电话号码:{phone_number}")
else:
print("联系人已存在,请选择其他操作.")
# 查看通讯录
def view_contacts(self):
for name, phone_number in self.contacts.items():
print(f"{name}: {phone_number}")
# 删除联系人
def delete_contact(self, name):
if name in self.contacts:
del self.contacts[name]
print(f"{name} 联系人已删除.")
else:
print("找不到此联系人.")
# 修改联系人信息
def update_contact(self, old_name, new_phone_number):
if old_name in self.contacts:
self.contacts[old_name] = new_phone_number
print(f"{old_name} 的电话号码已更新为:{new_phone_number}")
else:
print("找不到此联系人.")
# 查找联系人
def find_contact(self, name):
if name in self.contacts:
return self.contacts[name]
else:
return "未找到此人."
# 退出程序
def exit(self):
print("感谢使用,再见!")
quit()
# 初始化通讯录
address_book = AddressBook()
while True:
user_input = input("请输入操作(add、view、delete、update、find、exit):")
if user_input == 'exit':
address_book.exit()
break
elif user_input in ['add', 'view', 'delete', 'update', 'find']:
args = input(f"{user_input} 请输入操作内容:").split()
if len(args) > 0 and args[0]:
action = user_input
if action == 'add':
name, phone_number = args[0], args[1]
address_book.add_contact(name, phone_number)
elif action == 'view':
address_book.view_contacts()
elif action == 'delete':
name = args[0]
address_book.delete_contact(name)
elif action == 'update':
old_name, new_phone_number = args[0], args[1]
address_book.update_contact(old_name, new_phone_number)
elif action == 'find':
query = args[0]
result = address_book.find_contact(query)
if result != "未找到此人.":
print(f"查询结果:{result}")
else:
print("无效的操作,请重新输入。")
```
在这个例子中,用户通过输入命令和必要的参数来执行相应操作。当你运行这个程序时,它会在控制台上等待用户的输入。
阅读全文