Python简易电话簿系统
电话簿系统是一个常见的应用程序,用于存储和管理联系人的信息。通过使用Python编程语言,我们可以轻松地创建一个简单而有效的电话簿系统。本文将介绍如何使用Python编写电话簿系统,并提供代码示例。
1. 设计思路
我们的电话簿系统将具有以下功能:
- 添加联系人:用户可以输入姓名和电话号码,将联系人添加到电话簿中。
- 搜索联系人:用户可以输入姓名,系统将输出匹配的联系人信息。
- 更新联系人信息:用户可以输入姓名和新的电话号码,系统将更新联系人的电话号码。
- 删除联系人:用户可以输入姓名,系统将删除匹配的联系人信息。
- 显示所有联系人:系统将显示电话簿中的所有联系人信息。
2. 代码实现
2.1 定义联系人类
首先,我们需要定义一个Contact类来表示电话簿中的联系人。该类包含姓名和电话号码两个属性,并提供设置和获取属性值的方法。
class Contact:
def __init__(self, name, phone_number):
self.name = name
self.phone_number = phone_number
def get_name(self):
return self.name
def set_name(self, name):
self.name = name
def get_phone_number(self):
return self.phone_number
def set_phone_number(self, phone_number):
self.phone_number = phone_number
2.2 定义电话簿类
接下来,我们需要定义一个PhoneBook类来表示电话簿。该类包含一个联系人列表,并提供添加、搜索、更新、删除和显示联系人信息的方法。
class PhoneBook:
def __init__(self):
self.contacts = []
def add_contact(self, contact):
self.contacts.append(contact)
def search_contact(self, name):
for contact in self.contacts:
if contact.get_name() == name:
return contact
return None
def update_contact(self, name, phone_number):
contact = self.search_contact(name)
if contact:
contact.set_phone_number(phone_number)
return True
return False
def delete_contact(self, name):
contact = self.search_contact(name)
if contact:
self.contacts.remove(contact)
return True
return False
def display_contacts(self):
for contact in self.contacts:
print(f"Name: {contact.get_name()}, Phone number: {contact.get_phone_number()}")
2.3 用户界面
为了与用户进行交互,我们可以使用一个简单的命令行界面。用户可以根据提示进行操作,例如输入数字来选择要执行的操作。
def main():
phone_book = PhoneBook()
while True:
print("1. Add contact")
print("2. Search contact")
print("3. Update contact")
print("4. Delete contact")
print("5. Display all contacts")
print("6. Exit")
choice = input("Enter your choice: ")
if choice == "1":
name = input("Enter name: ")
phone_number = input("Enter phone number: ")
contact = Contact(name, phone_number)
phone_book.add_contact(contact)
elif choice == "2":
name = input("Enter name: ")
contact = phone_book.search_contact(name)
if contact:
print(f"Name: {contact.get_name()}, Phone number: {contact.get_phone_number()}")
else:
print("Contact not found")
elif choice == "3":
name = input("Enter name: ")
phone_number = input("Enter new phone number: ")
result = phone_book.update_contact(name, phone_number)
if result:
print("Contact updated successfully")
else:
print("Contact not found")
elif choice == "4":
name = input("Enter name: ")
result = phone_book.delete_contact(name)
if result:
print("Contact deleted successfully")
else:
print("Contact not found")
elif choice == "5":
phone_book.display_contacts()
elif choice == "6":
break
else:
print("Invalid choice")
if __name__ == "__main__":
main()
3. 流程图
下面是电话簿系统的流程图表示:
flowchart TD
A[开始] --> B{选择操作}
B --> |1| C[添加联系人]
B --> |2| D[搜索联系人]
B --> |3| E[更新联系人信息]
B --> |4| F[删除联系人]
B --> |5| G[