本文实例为大家分享了python实现购物车功能的具体代码,供大家参考,具体内容如下

功能要求:

要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车

代码:

#!/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 "3[32m%s, %s3[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 "3[31mchoice must be digit,exit3[0m"

功能挺简单,就是涉及到列表的增加和删除,还有一些逻辑的判断处理。

运行结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。