📅  最后修改于: 2023-12-03 14:56:26.398000             🧑  作者: Mango
电话目录的菜单驱动程序是一个基于命令行界面的简单应用程序,它允许用户存储和管理他们的联系人信息,包括名称、电话号码、电子邮件地址等。
该程序的主要特点是使用简单,易于上手,提供了菜单驱动的用户界面,用户只需按照提示输入相应的菜单选项和数据即可。
该程序提供了以下功能:
程序运行时,会显示以下菜单:
电话目录
===========
1. 添加联系人
2. 删除联系人
3. 修改联系人
4. 查找联系人
5. 显示所有联系人
6. 退出程序
选择菜单:
用户可以根据菜单选项的序号选择相应的操作,并根据提示输入相应的数据。
程序使用简单的文本文件来存储联系人信息,每个联系人信息占一行,使用逗号分隔不同的字段,例如:
张三,13888888888,zhangsan@example.com
李四,13999999999,lisi@example.com
王五,13111111111,wangwu@example.com
该程序使用了基于Python编程语言的面向对象编程技术,将菜单界面和电话目录保存数据的功能封装在一个ContactList类中,使用文件读写操作来实现数据的持久化。
下面是程序主要代码片段:
class ContactList:
def __init__(self, filename='contacts.txt'):
self.filename = filename
self.contacts = []
self.load_contacts()
def load_contacts(self):
try:
with open(self.filename, 'r') as file:
for line in file:
self.contacts.append(line.strip().split(','))
except FileNotFoundError:
pass
def save_contacts(self):
with open(self.filename, 'w') as file:
for contact in self.contacts:
file.write(','.join(contact) + '\n')
def add_contact(self, name, phone, email):
self.contacts.append([name, phone, email])
self.save_contacts()
def remove_contact(self, index):
self.contacts.pop(index)
self.save_contacts()
def update_contact(self, index, name, phone, email):
self.contacts[index] = [name, phone, email]
self.save_contacts()
def find_contact(self, keyword):
results = []
for contact in self.contacts:
if keyword in contact[0] or keyword in contact[1] or keyword in contact[2]:
results.append(contact)
return results
def display_contacts(self):
for index, contact in enumerate(self.contacts):
print(f'{index + 1}. {contact[0]} ({contact[1]}, {contact[2]})')
电话目录的菜单驱动程序是一个简单实用的小应用程序,可以帮助用户管理他们的联系人信息,也可以作为学习面向对象编程和文件读写操作的示例。