Skip to content

列表:购物清单管理

练习描述

创建一个购物清单管理程序,使用Python列表来存储和操作购物项目。程序应该能够:

  1. 添加新的购物项目到列表
  2. 从列表中删除项目
  3. 查看当前的购物清单
  4. 检查特定项目是否在清单中
  5. 对清单进行排序

这个练习将帮助您理解Python列表如何存储和管理数据集合,以及如何使用各种列表方法来操作这些数据。

示例解决方案

以下是一个购物清单管理程序:

python
def shopping_list_manager():
    # 初始化空购物清单
    shopping_list = []

    print("欢迎使用购物清单管理器!")
    print("命令: 添加(a), 删除(r), 查看(v), 检查(c), 排序(s), 清空(e), 退出(q)")

    while True:
        # 获取用户命令
        command = input("
请输入命令: ").lower()

        # 处理不同的命令
        if command == 'q':
            print("谢谢使用购物清单管理器!再见!")
            break

        elif command == 'a':
            item = input("请输入要添加的物品: ")
            if item:
                shopping_list.append(item)
                print(f"'{item}'已添加到购物清单。")
            else:
                print("物品名称不能为空。")

        elif command == 'r':
            if not shopping_list:
                print("购物清单为空,没有可删除的物品。")
                continue

            item = input("请输入要删除的物品: ")
            if item in shopping_list:
                shopping_list.remove(item)
                print(f"'{item}'已从购物清单中删除。")
            else:
                print(f"'{item}'不在购物清单中。")

        elif command == 'v':
            if shopping_list:
                print("
当前购物清单:")
                for index, item in enumerate(shopping_list, 1):
                    print(f"{index}. {item}")
            else:
                print("购物清单为空。")

        elif command == 'c':
            item = input("请输入要检查的物品: ")
            if item in shopping_list:
                print(f"'{item}'在购物清单中。")
            else:
                print(f"'{item}'不在购物清单中。")

        elif command == 's':
            if shopping_list:
                shopping_list.sort()
                print("购物清单已按字母顺序排序。")
                print("
排序后的购物清单:")
                for index, item in enumerate(shopping_list, 1):
                    print(f"{index}. {item}")
            else:
                print("购物清单为空,无法排序。")

        elif command == 'e':
            if shopping_list:
                confirm = input("确定要清空购物清单吗?(是/否): ").lower()
                if confirm in ['是', 'y', 'yes']:
                    shopping_list.clear()
                    print("购物清单已清空。")
            else:
                print("购物清单已经为空。")

        else:
            print("无效命令。请使用以下命令: a, r, v, c, s, e, q")

# 运行购物清单管理器
shopping_list_manager()

讨论

这个程序展示了Python列表的多种操作:

  1. 创建列表:使用shopping_list = []创建一个空列表。

  2. 添加元素:使用append()方法将新项目添加到列表末尾。

  3. 删除元素:使用remove()方法从列表中删除特定项目。

  4. 检查成员资格:使用in关键字检查项目是否在列表中。

  5. 排序:使用sort()方法按字母顺序排序列表。

  6. 清空列表:使用clear()方法删除列表中的所有项目。

  7. 遍历列表:使用for循环和enumerate()函数遍历列表并显示带有编号的项目。

列表是Python中最常用的数据结构之一,它允许您存储和操作一组相关的项目。在现实生活中,这类似于在纸上写下购物清单,然后添加、删除或检查项目。

扩展挑战

  1. 添加数量功能,允许用户指定每个物品的数量
  2. 实现分类功能,将物品按类别(如食品、家居用品等)组织
  3. 添加优先级功能,让用户标记重要物品
  4. 实现价格估算功能,计算购物清单的总成本
  5. 添加保存和加载功能,将购物清单保存到文件并在以后加载