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|模拟商品加入购物车并结算价钱问题解决方法的主要内容,如果未能解决你的问题,请参考以下文章

跨域解决方案与提交订单

用python实现购物车功能

怎样退出购物车

购物结算系统

vue商城分析v1.1

python购物车-基础版本