算法创作|模拟商品加入购物车并结算价钱问题解决方法
问题描述在日常生活里,怎么用Python来模拟剁手党添加商品到购物车并计算价格呢?示例:输入:1,2,q输出:你购物车中的的商品[['mate40 pro', 8888], ['小米10 pro', 4599]]你购物车中的的商品需要支付13487元解决方案先使用list函数并创建列表,在表里得出商品类型及价格,因此我们在程序里提前写好商品种类products = [['mate40 pro', 8888], ['小米10 pro',4599], ['nike鞋子', 799], ['洗发水', 32]]。此外考虑到还需要循环,所以使用了while语句,使用一段matlab程序,对原句进行循环和打印。使用if语句保证程序运行时,对于选项之内的商品进行添加操作,而对于选项之外的商品则是说明不在列表内,用条件语句对可能出现的情况进行设置,最后完成创作。代码清单products = [['mate40 pro', 8888], ['小米10 pro', 4599], ['nike鞋子', 799], ['洗发水', 32]]shopping_list = []s = int(0)while True:print("---------商品名----------")for idx, p in enumerate(products, 1):print(f'{idx}:{p[0]} {p[1]}')num = str(input("请输入您要购买的商品编号,输入'q'退岀选择:"))if num.isdigit():num = eval(num)if 0<num<=4:shopping_list.append(products[num - 1])print(f"{products[num-1]}加入购物车成功!")money = products[num-1][1]s += moneyelse:print("找不到商品")elif num == 'q':print("退岀选择。")breakelif num == "p":continueelif num == 'a':shopping_list.clear()s = 0else:print("找不到商品")print(f'你购物车中的的商品{shopping_list}你购物车中的的商品需要支付{s}元')运行结果:
结语本程序需要list函数,条件语句及循环,较为复杂。因此在解决目标问题之前,我们应该先提前做好蓝图,找出问题的规律,目标程序应使用哪一个函数并注意程序的特殊性。提前在书上或是在网上找到相应的资料。由于目标程序较为复杂,因此在很多方面并不完善。甚至有一些冗长,在今后的操作中应保证程序正确性和可读性之前,还需考虑它的精简度。相信在以后的实践中。我们终将找到更好的表达方式。实习编辑:王晓姣作者:辜启书、赵晨曦、文裕龙