shopping cart
#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的更多相关文章
- shopping cart<代码>
i = ["iphone 6000", "bicycle 1000", "coffee 50", "python book 100 ...
- 购物车(Shopping cart) —— B2C网站核心产品设计 (二)
购物车是做什么的? 我们先来看一下现实超市中的购物车,一个带四个轱辘的铁筐子,客人推来推去,看到什么东西喜欢,就扔进去,觉得东西差不多了,就推到收银台. 那B2C网站中的购物车又是一个什么东西呢? 从 ...
- C#集合Collections购物车Shopping Cart
这篇是对象与集合操练,物件的创建,集合的一些基本功能,如添加,编辑,删除等功能. 对象,即是网店的商品物件,Insus.NET只为其添加2个属性,物件的ID的Key和名称ItemName以及2个构造函 ...
- Simple Shopping Cart By AngularJS
<body ng-controller='CartController'> <h1>Your Order</h1> <div ng-repeat='item ...
- PHP之购物车的代码
该文章记录了购物车的实现代码,仅供参考 book_sc_fns.php <?php include_once('output_fns.php'); include_once('book_fns. ...
- Octopus系列之代码备份
代码 $.extend($.validator.messages, { required: "This field is required.", remote: "Ple ...
- magento产品成功添加到购物车后跳转到不同页面 添加 add to cart 按钮
1 添加产品到购物车成功后是跳转到购物车页面或不跳转.这个在后台可以设置 system -> configuration -> After Adding a Product Redirec ...
- 怎样改动、扩展并重写Magento代码
作为一个开发人员的你,肯定要改动Magento代码去适应你的业务需求,可是在非常多时候我们不希望改动Magento的核心代码,这里有非常多原因, 比如将来还希望升级Magento.还想使用很多其它的M ...
- Python学习1,代码
看了好久的网上视频,今天尝试着写了一串代码: _author_ = "Happyboy" produce_list = [ ('Iphone',5800), ('Mac Pro ...
随机推荐
- mysql绕过root密码登录
绕过密码登录步骤: 一.Mysql8.0之前: 关闭服务 执行参数:mysqld --skip-grant-tables 新开窗口执行mysql,即可进入mysql 二.Mysql8.0之前: 关闭服 ...
- JS 处理图片平铺问题
background: url("../../../assets/image/center.png") no-repeat; // 让图片不平铺 overflow: hidde ...
- 20210713考试-2021noip13
这位巨佬的博客还是比我好多了 T1 工业题 考场: 暴力挺香的,不想正解了. 题解: $f(i,j)$ 只会得到 $f(i-1,j)$ 和 $f(i,j-1)$ 的贡献.每向右一步乘 $a$ ,向下一 ...
- 海量列式非关系数据库HBase 架构,shell与API
HBase的特点: 海量存储: 底层基于HDFS存储海量数据 列式存储:HBase表的数据是基于列族进行存储的,一个列族包含若干列 极易扩展:底层依赖HDFS,当磁盘空间不足的时候,只需要动态增加Da ...
- TypeScript 中装饰器的理解?应用场景?
一.是什么 装饰器是一种特殊类型的声明,它能够被附加到类声明,方法, 访问符,属性或参数上 是一种在不改变原类和使用继承的情况下,动态地扩展对象功能 同样的,本质也不是什么高大上的结构,就是一个普通的 ...
- 【第十八篇】- Maven Eclipse之Spring Cloud直播商城 b2b2c电子商务技术总结
Maven Eclipse Eclipse 提供了一个很好的插件 m2eclipse ,该插件能将 Maven 和 Eclipse 集成在一起. 在最新的 Eclipse 中自带了 Maven,我们打 ...
- 分布式必备理论基础:CAP和BASE
大家好,我是老三,今天是没有刷题的一天,心情愉悦,给大家分享两个简单的知识点:分布式理论中的CAP和BASE. CAP理论 什么是CAP CAP原则又称CAP定理,指的是在一个分布式系统中,Consi ...
- jdbc核心技术-宋红康
视频地址 JDBC核心技术 第1章:JDBC概述 1.1 数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化意味着将 ...
- git实战-linux定时监控github更新状态(二)
系列文章 git介绍-常用操作(一)✓ git实战-linux定时监控github更新状态(二)✓ 本文主要内容 如何查看github的本地仓库和远程仓库的同步情况 linux服务器定时监控githu ...
- 后台开发 3个题目 array_chunk, 100块钱找零钱(动态规划 dynamic programming), 双向循环链表 llist 删除节点
1. array_chunk 实现 http://php.net/manual/en/function.array-chunk.php <?php function my_array_chunk ...