算法創作|模擬商品加入購物車並結算價錢問題解決方法

本文首發於微信公衆號:"算法與編程之美",歡迎關注,及時瞭解更多此係列文章。


問題描述

在日常生活裏,怎麼用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源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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