文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python实现购物车功能

2024-04-02 19:55

关注

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

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

运行结果如下:

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯