用Python编写通讯录程序
时间: 2024-09-15 12:04:15 浏览: 50
使用Python编写通讯录程序可以采用多种方式实现,下面是一个简单的命令行通讯录程序的示例,它可以存储联系人的姓名、电话号码等信息,并提供增加、删除、查找和打印所有联系人等基本功能。
```python
class Contact:
def __init__(self, name, phone):
self.name = name
self.phone = phone
class AddressBook:
def __init__(self):
self.contacts = {}
def add_contact(self, name, phone):
if name in self.contacts:
print(f"联系人 {name} 已存在。")
else:
self.contacts[name] = Contact(name, phone)
print(f"联系人 {name} 已添加。")
def remove_contact(self, name):
if name in self.contacts:
del self.contacts[name]
print(f"联系人 {name} 已删除。")
else:
print(f"联系人 {name} 不存在。")
def find_contact(self, name):
if name in self.contacts:
contact = self.contacts[name]
print(f"姓名: {contact.name}, 电话: {contact.phone}")
else:
print(f"联系人 {name} 不存在。")
def display_all_contacts(self):
for name, contact in self.contacts.items():
print(f"姓名: {contact.name}, 电话: {contact.phone}")
def main():
address_book = AddressBook()
while True:
print("\n通讯录程序")
print("1. 添加联系人")
print("2. 删除联系人")
print("3. 查找联系人")
print("4. 显示所有联系人")
print("5. 退出")
choice = input("请输入操作编号: ")
if choice == '1':
name = input("输入联系人姓名: ")
phone = input("输入联系人电话: ")
address_book.add_contact(name, phone)
elif choice == '2':
name = input("输入要删除的联系人姓名: ")
address_book.remove_contact(name)
elif choice == '3':
name = input("输入要查找的联系人姓名: ")
address_book.find_contact(name)
elif choice == '4':
address_book.display_all_contacts()
elif choice == '5':
print("退出程序。")
break
else:
print("无效的操作编号,请重新输入。")
if __name__ == "__main__":
main()
```
这段代码定义了两个类:`Contact` 用于存储单个联系人的信息,`AddressBook` 用于管理整个联系人列表。`main` 函数提供了一个简单的菜单系统,允许用户与通讯录进行交云。
在实现这样的通讯录程序时,需要考虑以下几点:
1. 数据存储:可以使用字典来存储联系人信息,其中键是姓名,值是联系人对象。
2. 用户界面:提供一个简单的命令行界面让用户可以输入指令与通讯录进行交互。
3. 功能实现:包括添加、删除、查找和显示所有联系人等基本功能。
阅读全文