Python如何實(shí)現(xiàn)的簡(jiǎn)單購(gòu)物車(chē)程序
實(shí)現(xiàn)代碼如下:
# 正整數(shù)校驗(yàn)函數(shù)def is_positive_int(input_num): # noinspection PyBroadException # 上一條注釋消除Pycharm ’Too broad exception clause’ 警告 try:positive_int = int(input_num)if positive_int > 0: return Trueelse: return False except Exception:return False# 打印商品列表函數(shù)def print_list(__object): # noinspection PyBroadException # 上一條注釋消除Pycharm ’Too broad exception clause’ 警告 try:for index in range(0, len(__object)): print(’%dt%-10st%s’ % (index + 1, __object[index][0], __object[index][1])) except Exception:return None# 定義初始商品列表和購(gòu)物車(chē)列表product_list = [ [’iPhone 12’, 10000], [’iPhone 11’, 6000], [’HUAWEI P30’, 5000], [’榮耀 30’, 4000], [’小米 10’, 3000], [’紅米 K40’, 2000]]product_list_shopped = []print(’Welcome to shopping mall!’)# 輸入購(gòu)物預(yù)算,并校核預(yù)算是否合法while True: budget_input = input(’您的購(gòu)物預(yù)算是多少:’) if is_positive_int(budget_input):budget = int(budget_input)break else:print(’輸入有誤,請(qǐng)重新輸入.’, end=’’)# 首次打印商品列表print(’Product list:’)print_list(product_list)# 進(jìn)入購(gòu)物程序while len(product_list) > 0: choice = input(’選擇購(gòu)買(mǎi)商品編號(hào)[退出:quit]:’) if choice == ’quit’:break # 校驗(yàn)輸入的商品編號(hào)是否存在 elif is_positive_int(choice) and 0 < int(choice) < len(product_list) + 1:product_index = int(choice) - 1product_price = product_list[product_index][1]# 余額判斷購(gòu)物是否成功if budget > product_price: budget = budget - product_price product = product_list.pop(product_index) product_list_shopped.append(product) print(’購(gòu)買(mǎi)成功,購(gòu)買(mǎi)了%s,花費(fèi)%d,您的剩余預(yù)算為:%d’ % (product[0], product_price, budget)) print_list(product_list)elif budget == product_price: budget = budget - product_price product = product_list.pop(product_index) product_list_shopped.append(product) print(’購(gòu)買(mǎi)成功,您的預(yù)算已花完.’) breakelse: print(’余額不足,請(qǐng)重新’, end=’’) else:print(’輸入有誤,請(qǐng)重新’, end=’’)# 購(gòu)物車(chē)不為空時(shí),打印購(gòu)物列表和花費(fèi)if product_list_shopped: sum_price = sum(x[1] for x in product_list_shopped) print(’您一共花費(fèi)%d,購(gòu)物清單如下:’ % sum_price) print_list(product_list_shopped)print(’歡迎下次光臨!’)代碼測(cè)試如下1 預(yù)算校驗(yàn)

預(yù)算輸入限制為正整數(shù),其余輸入均會(huì)提示并要求重新輸入
預(yù)算校驗(yàn)可新增:
輸入的預(yù)算是否小于商品最低單價(jià)校驗(yàn) 退出選項(xiàng)2 購(gòu)物2.1 直接退出




以上就是Python如何實(shí)現(xiàn)的簡(jiǎn)單購(gòu)物車(chē)程序的詳細(xì)內(nèi)容,更多關(guān)于python 購(gòu)物車(chē)程序的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算2. Java實(shí)現(xiàn)UDP通信過(guò)程實(shí)例分析【服務(wù)器端與客戶端】3. JS圖片懶加載庫(kù)VueLazyLoad詳解4. Java PreparedStatement用法詳解5. Python 解決火狐瀏覽器不彈出下載框直接下載的問(wèn)題6. Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)7. 使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟8. Java實(shí)現(xiàn)的迷宮游戲9. HTML <!DOCTYPE> 標(biāo)簽10. Spring如何集成ibatis項(xiàng)目并實(shí)現(xiàn)dao層基類(lèi)封裝

網(wǎng)公網(wǎng)安備