问题描述:
从键盘录入5个商品信息(1001手机)添加到商品列表中,展示商品信息,提示用户选择商品,用户选中的商品添加到购物车中(购物车中的商品要逆序),用户选中的商品不存在需要有相应提示,当用户输入“q”时循环结束,显示购物商品。
1.从键盘录入5个商品信息,并添加到商品列表中。
2.展示商品信息。
3.提示用户选择商品,并将选中的商品添加到购物车中(购物车中的商品要逆序)。
4.如果用户选择的商品不存在,则给出相应提示。
5.当用户输入“q”时,结束选择过程,并显示购物车中的商品。
编程:
方法一:列表的添加和反向操作
# 创建一个空列表,存储录入的五个商品
lis = []
for i in range(5):goods = input("请输入商品的编号和商品的名称进行商品入库,每次只能输入一件商品:")lis.append(goods)
# 输出所有商品信息
for j in lis:print(j)# 创建一个空列表,存储购物车的商品
car = []
while True:flag = False #代表没有商品的情况num = input('请输入要购买的商品编号:')# 遍历商品列表,查询一下要购买的商品是否存在for k in lis:if num == k[0:4]:flag = True # 代表商品已找到car.append(k) # 添加到购物车中print('商品已成功添加到购物车')break # 退出的是for循环if not flag and num!='q':print('商品不存在')if num == 'q':break
print('_'*50)
print('您购物车里已选择的商品为:')
car.reverse()
for n in car:print(n)
方法二:类方法
# 定义商品类
class Product:def __init__(self, id, name):self.id = idself.name = namedef __str__(self):return f"{self.id} {self.name}"# 初始化商品列表
products = []# 从键盘录入5个商品信息
for i in range(5):id = input(f"请输入第{i+1}个商品的ID(例如1001): ")name = input(f"请输入第{i+1}个商品的名称(例如手机): ")product = Product(id, name)products.append(product)# 展示商品信息
print("\n商品列表:")
for i, product in enumerate(products, start=1):print(f"{i}. {product}")# 初始化购物车
cart = []# 用户选择商品
while True:choice = input("\n请输入要购买的商品编号(输入'q'结束选择): ").strip()if choice.lower() == 'q':break# 检查用户输入的商品编号是否存在found = Falsefor product in products:if str(product.id) == choice:cart.append(product)found = Truebreakif not found:print("商品编号不存在,请重新输入!")# 购物车中的商品逆序
cart.reverse()# 显示购物车中的商品
print("\n购物车中的商品(逆序):")
for product in cart:print(product)