Python 用列表实现模拟手机通讯录(简易版)

"""
    列表实现好友管理系统

知识点:
    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 = '请选择输入序号:'


运行结果:

Python 用列表实现模拟手机通讯录(简易版)_第1张图片

作者:周华

创作日期:2023/9/25

你可能感兴趣的:(python,一起变强,python)