python实现购物车功能

 更新时间:2022年02月09日 09:23:46   作者:乱弹世界  
这篇文章主要为大家详细介绍了python实现购物车功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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 "\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"

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

运行结果如下:

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

相关文章

  • 从运行效率与开发效率比较Python和C++

    从运行效率与开发效率比较Python和C++

    今天小编就为大家分享一篇关于从运行效率与开发效率比较Python和C++,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Python字符转换

    Python字符转换

    Python提供了ord和chr两个内置的函数,用于字符与ASCII码之间的转换。
    2008-09-09
  • Python使用Pandas对csv文件进行数据处理的方法

    Python使用Pandas对csv文件进行数据处理的方法

    这篇文章主要介绍了Python使用Pandas对csv文件进行数据处理的方法,本文通过实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Python实现按照指定要求逆序输出一个数字的方法

    Python实现按照指定要求逆序输出一个数字的方法

    这篇文章主要介绍了Python实现按照指定要求逆序输出一个数字的方法,涉及Python针对字符串的遍历、判断、输出等相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • 在 Python 中使用 MQTT的方法

    在 Python 中使用 MQTT的方法

    这篇文章主要介绍了在 Python 中使用 MQTT的方法,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-08-08
  • Python多项式回归的实现方法

    Python多项式回归的实现方法

    这篇文章主要介绍了Python多项式回归的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • python使用matplotlib绘制雷达图

    python使用matplotlib绘制雷达图

    这篇文章主要为大家详细介绍了python使用matplotlib绘制雷达图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 教你如何使用Python实现二叉树结构及三种遍历

    教你如何使用Python实现二叉树结构及三种遍历

    什么是二叉树:每个节点最多有两个子树的树结构,通常子树被称作“左子树”(left subtree)和“右子树”(right subtree) 二叉树由两个对象组成,一个是节点对象,一个是树对象,需要的朋友可以参考下
    2021-06-06
  • Python的面向对象思想分析

    Python的面向对象思想分析

    这篇文章主要介绍了Python的面向对象思想分析,以实例形式较为详细的分析了封装,继承,多态的具体用法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • Python字符串匹配之6种方法的使用详解

    Python字符串匹配之6种方法的使用详解

    这篇文章主要介绍了Python字符串匹配之6种方法的使用详解,在文末给大家提到了python正则表达的说明,感兴趣的朋友跟随小编一起学习吧
    2019-04-04

最新评论