#!/usr/bin/env python# -*- coding: utf-8 -*-# @File  : 购物车3.0.py# @Author: Anthony.waa# @Date  : 2018/5/14 0014# 原始购物清单goods = [    {"name": "电脑", "price": 1999},    {"name": "鼠标", "price": 10},    {"name": "游艇", "price": 20},    {"name": "美女", "price": 998},]# 购物车shopping_car = {}# 商品个数good_count = 1# 输入不合法是打印def return_error():    print("\033[1;31m 输入不合法,请重新输入 \033[0m")# 打印购物车商品和剩余金额def end_shopping():    print("\033[1;32m 剩余金额为: \033[0m", all_money)    print('\033[1;32m 已购商品有: \033[0m', shopping_car, )

while True:    # 用户输入总资产    all_money = input("\033[1;32m 请输入总资产: \033[0m").strip()    if all_money.isdigit():        all_money = int(all_money)        # 显示购物商品列表        print('\033[1;32m ========== 商 品 清 单 ========== \033[0m'.center(20))        for good_index, good in enumerate(goods, 1):            print('\033[1;32m    {0}         {1}         {2}   \033[0m'.format(good_index, good['name'],good['price']).center(20))        print('\033[1;32m 选择"q"退出 \033[0m'.center(20))        while True:            # 选择商品序号,或选择退出购物            choice_count = input("\033[1;32m 请输入商品序号: \033[0m").strip()            if choice_count.isdigit():                choice_count = int(choice_count)                # 商品序号小于商品列表长度                if choice_count > 0 and choice_count <= len(goods):                    good_price = goods[choice_count - 1]['price']                    # 用户资产大于商品价格,否则提示充值                    if all_money > good_price:                        good_name = goods[choice_count - 1]['name']                        all_money -= good_price                        # 商品是否存在购物车中                        if good_name not in shopping_car:                            shopping_car[good_name] = good_count                        else:                            for shopping_index, shopping_name in enumerate(shopping_car):                                if shopping_name == good_name:                                    shopping_car[shopping_name] += 1                        end_shopping()                    else:                        print('\033[1;31m 余额不足,请充值: \033[0m'.center(17))                        add_money = input("请输入总资产:").strip()                        if add_money.isdigit():                            add_money = int(add_money)                            all_money += add_money                            print('\033[1;32m 充值成功,剩余金额为: \033[0m'.center(17), all_money)                            continue            elif choice_count.lower() == 'q':                print("\033[1;32m 购物结束,欢迎下次光临 \033[0m")                end_shopping()                exit()    return_error()

转载于:https://www.cnblogs.com/ipyanthony/p/9066288.html

shopping car 3.0相关推荐

  1. shopping car 2.0

    #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/5/13 0013 10:20# @Author : Anthony.Waa# @ ...

  2. turbolinux mysql 5.0 cluste,PostgreSQL存在多个安全漏洞

    Bugraq ID: 36314 PostgreSQL是一款对象关系型数据库管理系统,支持扩展的SQL标准子集. PostgreSQL存在多个安全漏洞,远程攻击者可以利用漏洞进行拒绝服务,特权提升,验 ...

  3. 估算带卷积核二分类0,3的网络的收敛时间和迭代次数

    制作一个网络分类minst的0和3求出这网络的迭代次数曲线表达式n(δ),和准确率表达式p-max(δ),用预期准确率去估算n,并推算需要的时间. 将minst的28*28的图片缩小到9*9,网络用一 ...

  4. 4、Hive数据操作,DDL操作,CRUD database,CRUD table,partition,view,index,show命令等

    4.1DDL操作 4.1.1Create/Drop/Alter/Use Database 4.1.1.1Create Database 4.1.1.2Drop Database 4.1.1.3Alte ...

  5. HTML5新增的属性(八)

    HTML5新增的属性(八) 希望你所拼命的争取的,最后都能如你所愿 1.datalist标签 <datalist> 标签规定了 <input> 元素可能的选项列表. <d ...

  6. HTML的基本知识(七)——表单的基本知识及案例

    HTML的基本知识(七)--表单的基本知识及案例 我为什么要努力?我喜欢的东西都很贵,我想去的地方都很远,我爱的人超级完美,这就是我努力的理由. 一.认识表单 1.表单在WEB网页中用来给访问者填写信 ...

  7. 基于ASP.NET的电商系统的设计与实现

    目录 1. 需求分析 1.1 用户角色分析 1.2 可行性分析 1.3 功能分析 2. 概要设计 2.1 功能模块设计 3. 详细设计 3.1 整体架构 3.2 工作流程 3.3 数据库设计 3.4 ...

  8. 购物车(session版)

    目录: 一:详解购物车 1.1:购物车页面数据绑定 1.2:购物车功能(添加,删除,结算) 二:项目美化小知识 一:详解购物车 注:session版购物车它是在eclipse项目中利用Java Res ...

  9. R语言 | 关联规则

    1.概念 1.1 引论 关联规则(AssociationRules)是无监督的机器学习方法,用于知识发现,而非预测. 关联规则的学习器(learner)无需事先对训练数据进行打标签,因为无监督学习没有 ...

最新文章

  1. c语言野指针和空指针,C++中的空指针和野指针
  2. 线程池中的线程复用原理
  3. 安装mysql5.7.24rpm_centos7安装mysql-5.7.24(rpm安装)
  4. Linux系统redis安装配置
  5. 如何跨越线程调用窗体控件?(3)
  6. linux yast命令,Linux_SUSE Linux系统上双网卡绑定方法,1、使用yast工具配置第一块网 - phpStudy...
  7. 欢度国庆⭐️共享爬虫之美⭐️基于 Python 实现微信公众号爬虫(Python无所不能爬)
  8. 模拟电路实验 05 - | 集成运算放大器
  9. 小红书关键词搜索商品API接口(商品列表数据接口)
  10. android 手机安装windows7,手机怎么安装win7系统 安卓手机装win7系统教程
  11. 铁流:浪潮思科合资,高通中国设厂背后有什么故事
  12. 金融信创爆发年,优炫数据库高可用高性能解决方案
  13. glibc升级导致系统段错误问题解决方案
  14. 系统集成项目管理工程师主要公式
  15. 信号系统matlab实例3——卷积的matlab求解
  16. 一文揭秘阿里、腾讯、百度的薪资职级
  17. R实战 | 森林图绘制
  18. 国防科技大学计算机专业录取条件,国防科技大学录取条件
  19. 荐读 | 分享交易员的书单,向名家请教交易之道,交易精彩无比
  20. Java学习笔记-02(面向对象阶段)

热门文章

  1. 给谷歌输入法增添自定义词组,提高输入效率
  2. java运维工程师做什么_网络工程师和网络运维工程师有什么不同?
  3. yaml 数组_接口测试:A01_HttpRunner基础_05_YAML格式测试用例
  4. Z字变换Python解法
  5. TCP 三次握手四次挥手
  6. java oracle管理系统_哔站播放量高达三百万的Java视频教程,如此惊人,还不来学?...
  7. php fgetcsv函数,PHP中的fgetcsv()函数
  8. python给出数据点进行插值_Python对数据进行插值和下采样的方法
  9. python scrapy request_Scrapy中的Request和日志分析|python基础教程|python入门|python教程...
  10. lua运行外部程序_LTUI v2.2 发布, 一个基于lua的跨平台字符终端UI界面库