"""
列表实现好友管理系统
知识点:
1、列表存储信息
2、列表增删改查
3、嵌套循环
4、字符串分割和拼接(重点)
5、列表索引
"""
# 暂存好友信息(程序结束数据删除)
friend_info = list()
input_buf = '请选择输入序号:'
# 功能实现 =============================================================
while True:
# 打印界面
print(f'''{"=" * 6}好友通讯录{"=" * 6}
1.添加好友\t2.删除好友\n3.修改信息\t4.显示好友\n0.退出''')
# 选择菜单
choice = input(input_buf)
# 指定范围
if choice not in list('01234'):
input_buf = '请重新选择输入序号:'
continue
# 1.添加好友 ========================================================
elif choice == '1':
print(f' {"=" * 6}添加好友{"=" * 6}')
info_buf = ''
name = input('请输入姓名:')
info_buf += (name + '(*)')
info_buf += input('请输入手机号码:')
friend_info.append(info_buf) # 添加到列表中
print(f'姓名:{name}\t手机号码:{info_buf.split("(*)")[1]}')
print('已添加成功!')
# 2.删除好友 ========================================================
elif choice == '2':
print(f' {"=" * 6}删除好友{"=" * 6}')
# 如果通讯录为空
if friend_info == list():
print('哦豁!此通讯录无数据!')
continue
name = input('请输入需要删除好友的名字:')
# 查找是否存在
for i in friend_info:
if i.split('(*)')[0] == name:
friend_info.remove(i) # 删除
print(f'{name}已删除!')
break
# 查找无果
elif i == friend_info[-1]:
print('无此人信息,请确认是否输入有误!')
# 3.修改信息 ========================================================
elif choice == '3':
print(f' {"=" * 6}修改信息{"=" * 6}')
# 如果通讯录为空
if friend_info == list():
print('哦豁!此通讯录无数据!')
continue
name = input('请输入需要修改好友的名字:')
# 查找是否存在
for i in friend_info:
if i.split('(*)')[0] == name:
new_info_buf = input('请输入新的名字:') + '(*)' + input('请输入新的手机号码:')
# 修改(先删除在添加)
friend_info.remove(i) # 删除
friend_info.append(new_info_buf) # 添加
print('已修改成功!')
break
# 查找无果
elif i == friend_info[-1]:
print('无此人信息,请确认是否输入有误!')
# 4.显示好友 ========================================================
elif choice == '4':
print(f' {"=" * 6}显示好友{"=" * 6}')
# 如果通讯录为空
if friend_info == list():
print('哦豁!此通讯录无数据!')
continue
# 遍历打印
for i in friend_info:
print(f'姓名:{i.split("(*)")[0]}\t手机号码:{i.split("(*)")[1]}')
# 0.退出 ============================================================
elif choice == '0':
print('已退出好友通讯录')
break
input_buf = '请选择输入序号:'
运行结果:
作者:周华
创作日期:2023/9/25