Python练习2—简易购物清单

11 阅读1分钟
shopping_list=[]

while True:
    item=input("请输入要添加的物品,输入‘q’结束:")
    if item.lower()=="q":
        break
    shopping_list.append(item)
    print(f"已添加{item}到购物列表里")

print("\n你的购物清单如下:")
for i,item in enumerate(shopping_list):
    print(f"{i}.{item}")
shopping_list = {}
#运用到了字典,字典和数组是不一样的,字典是键值对的保存模式,而数组只能保存单一的
while True:
    action = input("请输入操作(add:添加, del:删除, update:修改, clear:清空, count:统计, show:查看, q:退出):").lower()

    if action == "q":
        break

    elif action == "add":
        item = input("请输入要添加的物品:")
        try:
            quantity = int(input(f"请输入{item}的数量:"))
        except ValueError:
            print("数量必须是整数哦~")
            continue
        if item in shopping_list:
            shopping_list[item] += quantity
        else:
            shopping_list[item] = quantity
        print(f"已添加 {quantity}{item} 到购物列表里")


    elif action == "del":
        item = input("请输入要删除的物品:")
        if item in shopping_list:
            try:
                quantity = int(input(f"请输入要删除的 {item} 数量:"))
            except ValueError:
                print("数量必须是整数哦~")
                continue
            if quantity >= shopping_list[item]:
                del shopping_list[item]
                print(f"{item} 已从购物列表中删除")
            else:
                shopping_list[item] -= quantity
                print(f"已删除 {quantity}{item},剩余 {shopping_list[item]} 个")
        else:
            print(f"{item} 不在购物列表中")

    elif action == "update":
        old_item = input("请输入要修改的物品名:")
        if old_item in shopping_list:
            new_item = input("请输入新的物品名:")
            shopping_list[new_item] = shopping_list.pop(old_item)
            print(f"{old_item} 已修改为 {new_item}")

    elif action == "clear":
        shopping_list.clear()
        print("购物清单已清空")

    elif action == "count":
        print("购物清单物品统计:")
        for item, quantity in shopping_list.items():
            print(f"{item}: {quantity} 个")

    elif action == "show":
        print("\n你的购物清单如下:")
        for i, (item, quantity) in enumerate(shopping_list.items()):
            print(f"{i}. {item} - {quantity} 个")
    else:
        print("无效操作,请重新输入")