本文首發於微信公衆號:"算法與編程之美",歡迎關注,及時瞭解更多此係列文章。
問題描述
在日常生活裏,怎麼用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 += 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源創計劃”,歡迎正在閱讀的你也加入,一起分享。