在日常生活中,管理联系人信息是一项基本需求。通过编程,我们可以实现一个简单的通讯录应用,帮助我们高效地存储、查找、修改和删除联系人信息。下面,就以一段Python代码为例,一步步教你如何构建一个基本的通讯录程序。
程序功能概览
我们的通讯录程序将具备以下核心功能:
- 添加联系人:允许用户输入新联系人的姓名和电话号码,加入通讯录。
- 删除联系人:根据用户提供的姓名,从通讯录中移除相应的联系人信息。
- 查询联系人:输入姓名,查询并显示该联系人的电话号码。
- 修改联系人信息:选择需要修改的联系人,更新其电话号码。
- 退出程序:提供选项让用户安全退出通讯录应用。
代码解析与教学
首先,我们来看一下程序的完整代码框架:
# 定义通讯录字典,存放联系人姓名与电话号码
addressbook = {'张三': 18125431254, '李四': 17195478562}
def add_card(addressbook):
# 添加联系人逻辑...
def delete_card(addressbook):
# 删除联系人逻辑...
def find_card(addressbook):
# 查询联系人逻辑...
def update_card(addressbook):
# 更新联系人信息逻辑...
def directory(addressbook):
# 主菜单逻辑...
# 打印欢迎信息,启动通讯录程序
print("通讯录程序欢迎界面...")
directory(addressbook)
接下来,我们逐个解析每个功能的实现细节:
1. 添加联系人(add_card
)
def add_card(addressbook):
name = input('请输入新的联系人姓名:')
while True:
phone_num = input('请输入新的联系人的号码:')
if not phone_num.isdigit() or len(phone_num) != 11:
print('号码录入错误!请确保电话号码为11位数字。')
continue
else:
addressbook[name] = phone_num
print(f'{name} 添加成功!')
break
这部分代码首先接收用户输入的姓名和电话号码,然后检查电话号码是否为11位数字,确保数据的准确性,最后将新联系人添加到通讯录。
2. 删除联系人(delete_card
)
def delete_card(addressbook):
name = input('请输入需要删除的联系人姓名:')
if name in addressbook:
del addressbook[name]
print('删除成功!')
else:
print('该联系人不存在!')
用户输入要删除的联系人姓名,程序检查该姓名是否存在,如果存在则从通讯录中删除。
3. 查询联系人(find_card
)
def find_card(addressbook):
name = input('请输入需要查询的联系人姓名:')
if name in addressbook:
print(f'{name} 的电话号码是:{addressbook[name]}')
else:
print('该联系人不存在!')
输入姓名,程序查询并显示该联系人的电话号码。
4. 修改联系人信息(update_card
)
def update_card(addressbook):
name = input('请输入需要修改的联系人姓名:')
if name in addressbook:
phone_num = input('请输入新的电话号码:')
addressbook[name] = phone_num
print('信息更新成功!')
else:
print('该联系人不存在!')
允许用户选择需要修改的联系人,并输入新的电话号码进行更新。
5. 程序主界面(directory
)
def directory(addressbook):
while True:
print("\n请选择操作:\n1. 添加联系人\n2. 删除联系人\n3. 查询联系人\n4. 修改联系人信息\n5. 退出通讯录")
choice = input('请输入操作编号:')
if choice == '1':
add_card(addressbook)
elif choice == '2':
delete_card(addressbook)
elif choice == '3':
find_card(addressbook)
elif choice == '4':
update_card(addressbook)
elif choice == '5':
print("|---感谢使用通讯录程序,再见!---|")
break
else:
print('无效的输入,请重新选择!')
展示主菜单,根据用户的选择调用相应的功能函数,或退出程序。
完整代码
def add_card(addressbook):
"""添加联系人"""
name = input('请输入新的联系人姓名:')
while True:
phone_num = input('请输入新的联系人的号码:')
if not phone_num.isdigit() or len(phone_num) != 11:
print('号码录入错误!请输入正确的11位数字电话号码。')
continue
else:
addressbook[name] = phone_num
print('联系人添加成功!')
break
def delete_card(addressbook):
"""删除联系人"""
name = input('请输入需要删除的联系人姓名:')
if name in addressbook:
del addressbook[name]
print('删除成功!')
else:
print('该联系人不存在!')
def find_card(addressbook):
"""查询联系人"""
name = input('请输入需要查询的联系人姓名:')
if name in addressbook:
print(f'{name} 的电话号码是:{addressbook[name]}')
else:
print('该联系人不存在!')
def update_card(addressbook):
"""修改联系人信息"""
name = input('请输入需要修改的联系人姓名:')
if name in addressbook:
phone_num = input('请输入新的电话号码:')
addressbook[name] = phone_num
print('信息更新成功!')
else:
print('该联系人不存在!')
def directory(addressbook):
"""通讯录主界面"""
print("""
|---欢迎使用通讯录程序---|
|---1. 添加新的联系人---|
|---2. 删除已有联系人---|
|---3. 查询联系人信息---|
|---4. 修改联系人信息---|
|---5. 退出通讯录程序---|
""")
while True:
choice = input('请选择您需要的功能(输入数字):')
if choice.isdigit():
choice = int(choice)
if choice == 5:
print('|---感谢使用通讯录程序,再见!---|')
break
elif choice == 1:
add_card(addressbook)
elif choice == 2:
delete_card(addressbook)
elif choice == 3:
find_card(addressbook)
elif choice == 4:
update_card(addressbook)
else:
print('输入错误,请重新选择!')
else:
print('您的输入不是数字,请重新输入!')
# 初始化通讯录字典
Addressbook = {}
# 启动通讯录程序
directory(Addressbook)