算法创作|模拟商品加入购物车并结算价钱问题解决方法

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。


问题描述

在日常生活里,怎么用Python来模拟剁手党添加商品到购物车并计算价格呢?

示例:

输入:12q

输出:你购物车中的的商品[['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 += 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)

本文分享自微信公众号 - 算法与编程之美(algo_coding)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章