#Author:Kevin_hou
                        #定义产品列表
product_list =[
('HUAWEI',5999),
('Watch',500),
('Nike',800),
('Toyota',200000),
('basketball',500),
('bike',1000),
] shopping_list =[]              #定义购物车列表
salary = input("your salary is...>>>")  #首要先输入工资
if salary.isdigit():            #然后工资要是数值
salary =int(salary)          #将工资取整,因为产品价格均为整数值
while True:               #while True循环语句
for index,item in enumerate(product_list):    #for循环语句,用于依次输出产品列表,index指数组下标值,item指具体产品
print(index,item)                #输出 0 ('HUAWEI', 5999)
user_choice = input("what do you want buy ?")  #输入用户选择的产品,即数组值
if user_choice.isdigit():              #判断如果用户输入的是数字变量
user_choice =int(user_choice)          #取整
if user_choice< len(product_list) and user_choice >=0:  #如果是数字量,再次判断数字值是否在产品数量区间内
p_item = product_list[user_choice]            #将用户选择的产品赋给p_item
if p_item[1] <= salary:                   #再判断产品价格不大于工资值
shopping_list.append(p_item)              #如果不大于,加入购车列表
salary -= p_item[1]                    #余额=工资-支付的费用
print("Add %s into shopping cart, your current balance is \033[31;1m%s\033[0m" %(p_item,salary))  #输出余额
else:
print("\033[41;1m your current balance is [%s], you have no enough many to pay...>>>\033[0m"% salary)  #输出余额不足
else:
print("\033[41;1m product code [%s] is not exit!\033[0m"% user_choice)  #输出产品不存在
elif user_choice =='q':  #如果用户选择输入是字母q
print("-----------shopping list-----------")  #输出------------shopping list------------
for p in shopping_list:  #for循环,输出添加进购物车的产品
print(p)
print("Your current balance:", salary)  #输出余额
exit()                      #退出
else:
print("invalid option")    #如果用户选择既不是在产品列表内,又不是q,则输出“invalid option”提示

  

shopping cart的更多相关文章

  1. shopping cart<代码>

    i = ["iphone 6000", "bicycle 1000", "coffee 50", "python book 100 ...

  2. 购物车(Shopping cart) —— B2C网站核心产品设计 (二)

    购物车是做什么的? 我们先来看一下现实超市中的购物车,一个带四个轱辘的铁筐子,客人推来推去,看到什么东西喜欢,就扔进去,觉得东西差不多了,就推到收银台. 那B2C网站中的购物车又是一个什么东西呢? 从 ...

  3. C#集合Collections购物车Shopping Cart

    这篇是对象与集合操练,物件的创建,集合的一些基本功能,如添加,编辑,删除等功能. 对象,即是网店的商品物件,Insus.NET只为其添加2个属性,物件的ID的Key和名称ItemName以及2个构造函 ...

  4. Simple Shopping Cart By AngularJS

    <body ng-controller='CartController'> <h1>Your Order</h1> <div ng-repeat='item ...

  5. PHP之购物车的代码

    该文章记录了购物车的实现代码,仅供参考 book_sc_fns.php <?php include_once('output_fns.php'); include_once('book_fns. ...

  6. Octopus系列之代码备份

    代码 $.extend($.validator.messages, { required: "This field is required.", remote: "Ple ...

  7. magento产品成功添加到购物车后跳转到不同页面 添加 add to cart 按钮

    1 添加产品到购物车成功后是跳转到购物车页面或不跳转.这个在后台可以设置 system -> configuration -> After Adding a Product Redirec ...

  8. 怎样改动、扩展并重写Magento代码

    作为一个开发人员的你,肯定要改动Magento代码去适应你的业务需求,可是在非常多时候我们不希望改动Magento的核心代码,这里有非常多原因, 比如将来还希望升级Magento.还想使用很多其它的M ...

  9. Python学习1,代码

      看了好久的网上视频,今天尝试着写了一串代码: _author_ = "Happyboy" produce_list = [ ('Iphone',5800), ('Mac Pro ...

随机推荐

  1. 从零开始实现简单 RPC 框架 7:网络通信之自定义协议(粘包拆包、编解码)

    当 RPC 框架使用 Netty 通信时,实际上是将数据转化成 ByteBuf 的方式进行传输. 那如何转化呢?可不可以把 请求参数 或者 响应结果 直接无脑序列化成 byte 数组发出去? 答:直接 ...

  2. JDK1.8源码阅读笔记(1)Object类

    JDK1.8源码阅读笔记(1)Object类 ​ Object 类属于 java.lang 包,此包下的所有类在使⽤时⽆需⼿动导⼊,系统会在程序编译期间⾃动 导⼊.Object 类是所有类的基类,当⼀ ...

  3. Hibernate持久层ORM框架

    一.概念 hibernate交互数据库时,对象的属性转成sql,mybatis直接写sql,性能更高: 二.

  4. vue页面跳转以及传参和取参

    vue中this.$router.push()路由传值和获取的两种常见方法 1.路由传值   this.$router.push() (1) 想要导航到不同的URL,使用router.push()方法 ...

  5. tar解压缩问题

    gzip: stdin: unexpected end of filetar: 归档文件中异常的 EOFtar: 归档文件中异常的 EOFtar: Error is not recoverable: ...

  6. java中各个类相互调用资源的原理

       当我们要进行跨类的调用/使用的时候,比如当前类调用另一个类中的变量或方法时, 这时需要一定的条件,如果那些将要被调用的变量或方法是static(静态)变量,也叫类变 量,那么可以通过类名调用,相 ...

  7. Dockerfile 自动制作 Docker 镜像(三)—— 镜像的分层与 Dockerfile 的优化

    Dockerfile 自动制作 Docker 镜像(三)-- 镜像的分层与 Dockerfile 的优化 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云 ...

  8. 图论---最小生成树----普利姆(Prim)算法

    普利姆(Prim)算法 1. 最小生成树(又名:最小权重生成树) 概念:将给出的所有点连接起来(即从一个点可到任意一个点),且连接路径之和最小的图叫最小生成树.最小生成树属于一种树形结构(树形结构是一 ...

  9. 【C++基础教程】第四课

    上次的课后练习 第1题输出: 第二题输出:1 第三题: #include<iostream> #include<cmath> using namespace std; int ...

  10. 如何写出安全又可靠的PHP脚本

    前言 咔咔目前所做的项目是一个saas系统,在开发新功能之后,需要为用户角色添加相应的权限,这时整个系统的所有用户都需要添加相应的权限. 因为以前系统的缺陷现在只能用脚本来处理这些工作,所以接下来咔咔 ...