Python|模拟商品加入购物车并结算价钱问题解决方法
Posted 算法与编程之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python|模拟商品加入购物车并结算价钱问题解决方法相关的知识,希望对你有一定的参考价值。
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
问题描述
在日常生活里,怎么用Python来模拟剁手党添加商品到购物车并计算价格呢?
示例:
输入:1,2,q
输出:你购物车中的的商品[['mate40 pro', 8888], ['小米10 pro', 4599]]你购物车中的的商品需要支付13487元
解决方案
先使用list函数并创建列表,在表里得出商品类型及价格,因此我们在程序里提前写好商品种类products = [['mate40 pro', 8888], ['小米10pro', 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 += money else: print("找不到商品")
elif num == 'q': print("退岀选择。") break elif num == "p": continue elif num == 'a': shopping_list.clear() s = 0 else: print("找不到商品") print(f'你购物车中的的商品{shopping_list}你购物车中的的商品需要支付{s}元')
运行结果: |
结语
本程序需要list函数,条件语句及循环,较为复杂。因此在解决目标问题之前,我们应该先提前做好蓝图,找出问题的规律,目标程序应使用哪一个函数并注意程序的特殊性。提前在书上或是在网上找到相应的资料。由于目标程序较为复杂,因此在很多方面并不完善。甚至有一些冗长,在今后的操作中应保证程序正确性和可读性之前,还需考虑它的精简度。相信在以后的实践中。我们终将找到更好的表达方式。
实习编辑:衡辉
作者:辜启书、赵晨曦、文裕龙
稿件来源:深度学习与文旅应用实验室(DLETA)
以上是关于Python|模拟商品加入购物车并结算价钱问题解决方法的主要内容,如果未能解决你的问题,请参考以下文章