python實(shí)現(xiàn)購(gòu)物車功能
本文實(shí)例為大家分享了python實(shí)現(xiàn)購(gòu)物車功能的具體代碼,供大家參考,具體內(nèi)容如下
功能要求:
要求用戶輸入總資產(chǎn),例如:2000
顯示商品列表,讓用戶根據(jù)序號(hào)選擇商品,加入購(gòu)物車
購(gòu)買,如果商品總額大于總資產(chǎn),提示賬戶余額不足,否則,購(gòu)買成功。
附加:可充值、某商品移除購(gòu)物車
代碼:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
shopping_list = [
? ? ? ? ("Iphone", 5000),
? ? ? ? ("Delicious food", 48),
? ? ? ? ("Mac book", 9800),
? ? ? ? ("Huawei", 4800),
? ? ? ? ("Alex python", 32),
? ? ? ? ("coffee", 24)
]
shopping_cart = []
salary = raw_input('please input salary: ')
if not salary.isdigit():
? ? ? ? print "salary must be digit,run again"
? ? ? ? exit()
else:
? ? ? ? salary = int(salary)
while True:
? ? ? ? print "------products list is--------"
? ? ? ? for index, item in enumerate(shopping_list):
? ? ? ? ? ? ? ? print "\033[32m%s, %s\033[0m" %(index, item)
? ? ? ? choice = raw_input('please input choice[q(uit)]>>> ')
? ? ? ? if choice.isdigit():
? ? ? ? ? ? ? ? choice = int(choice)
? ? ? ? ? ? ? ? if choice < len(shopping_list) and choice >= 0:
? ? ? ? ? ? ? ? ? ? ? ? product = shopping_list[choice]
? ? ? ? ? ? ? ? ? ? ? ? if salary > product[1]:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? confirm = raw_input('do you want to buy now[y/n]: ')
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if confirm == 'y':
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? shopping_cart.append(product)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? salary -= product[1]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print "you bought %s,price is %d, your balance is %d" % (product[0], product[1], salary)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print 'select again'
? ? ? ? ? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? add_confirm = raw_input("your balance is: %d, not enough, do you want to add more?[y/n]" % salary)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if add_confirm == 'y':
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? add_salary = raw_input('add the money: ')
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if add_salary.isdigit():
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? add_salary = int(add_salary)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? salary += add_salary
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print "now balance is %d: " % salary
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print "the money must be digit."
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print "------shopping cart list---------: "
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for index, item in enumerate(shopping_cart):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print index, item
? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? ? ? print "choice must be 0~5."
? ? ? ? elif choice == 'q':
? ? ? ? ? ? ? ? remove_product = raw_input("do you want remove product or exits now [y/n] ")
? ? ? ? ? ? ? ? if remove_product == "y":
? ? ? ? ? ? ? ? ? ? ? ? print "-----------your shopping cart lists-------------: "
? ? ? ? ? ? ? ? ? ? ? ? for index, item in enumerate(shopping_cart):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print index, item
? ? ? ? ? ? ? ? ? ? ? ? remove_choice = raw_input('please input your remove choice>>> ')
? ? ? ? ? ? ? ? ? ? ? ? if remove_choice.isdigit() and int(remove_choice) < len(shopping_cart) and int(remove_choice) >= 0:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? salary += shopping_cart[int(remove_choice)][1]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? del shopping_cart[int(remove_choice)]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print "-----------new shopping cart lists-------------: "
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for index, item in enumerate(shopping_cart):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print index, item
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print "your balance is %d" % salary
? ? ? ? ? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print "input error, again"
? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? ? ? print "exit now"
? ? ? ? ? ? ? ? ? ? ? ? exit()
? ? ? ? else:
? ? ? ? ? ? ? ? print "-----------shopping cart lists-------------: "
? ? ? ? ? ? ? ? for index, item in enumerate(shopping_cart):
? ? ? ? ? ? ? ? ? ? ? ? print index, item
? ? ? ? ? ? ? ? print "\033[31mchoice must be digit,exit\033[0m"功能挺簡(jiǎn)單,就是涉及到列表的增加和刪除,還有一些邏輯的判斷處理。
運(yùn)行結(jié)果如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 使用Python的Django框架結(jié)合jQuery實(shí)現(xiàn)AJAX購(gòu)物車頁面
- Python實(shí)現(xiàn)的購(gòu)物車功能示例
- python簡(jiǎn)單商城購(gòu)物車實(shí)例代碼
- Python實(shí)現(xiàn)購(gòu)物車程序
- python購(gòu)物車程序簡(jiǎn)單代碼
- Python 模擬購(gòu)物車的實(shí)例講解
- Python實(shí)現(xiàn)購(gòu)物車購(gòu)物小程序
- Python初學(xué)時(shí)購(gòu)物車程序練習(xí)實(shí)例(推薦)
- Python3實(shí)現(xiàn)購(gòu)物車功能
- Python實(shí)現(xiàn)購(gòu)物車功能的方法分析
相關(guān)文章
Python訪問PostgreSQL數(shù)據(jù)庫詳細(xì)操作
postgresql是常用的關(guān)系型數(shù)據(jù)庫,并且postgresql目前還保持著全部開源的狀態(tài),這篇文章主要給大家介紹了關(guān)于Python訪問PostgreSQL數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2023-11-11
pandas:get_dummies()與pd.factorize()的用法及區(qū)別說明
這篇文章主要介紹了pandas:get_dummies()與pd.factorize()的用法及區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python中使用dwebsocket實(shí)現(xiàn)后端數(shù)據(jù)實(shí)時(shí)刷新
dwebsocket是Python中一款用于實(shí)現(xiàn)WebSocket協(xié)議的庫,可用于后端數(shù)據(jù)實(shí)時(shí)刷新。在Django中結(jié)合使用dwebsocket和Channels,可以實(shí)現(xiàn)前后端的實(shí)時(shí)通信,支持雙向數(shù)據(jù)傳輸和消息推送,適用于實(shí)時(shí)聊天、數(shù)據(jù)監(jiān)控、在線游戲等場(chǎng)景2023-04-04
TensorFlow人工智能學(xué)習(xí)Keras高層接口應(yīng)用示例
這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)中Keras高層接口的應(yīng)用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
2020新版本pycharm+anaconda+opencv+pyqt環(huán)境配置學(xué)習(xí)筆記,親測(cè)可用
這篇文章主要介紹了2020新版本pycharm+anaconda+opencv+pyqt環(huán)境配置學(xué)習(xí)筆記,親測(cè)可用,特此分享到腳本之家平臺(tái),需要的朋友可以參考下2020-03-03
python多進(jìn)程使用函數(shù)封裝實(shí)例
這篇文章主要介紹了python多進(jìn)程使用函數(shù)封裝實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05

