Day 16 购物车
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = "DaChao"
# Date: 2017/6/7 #! /usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = "DaChao"
# Date: 2017/6/10 '''
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
''' def shangpin():
'''
打印商品列表及序号,并价格赋值
:return:
'''
num = 1
for n_p in goods:
print(num,n_p["name"],n_p['price'])
p_goods.append(n_p['price'])
num+=1 def choose_1():
'''
打印购物选择
:return:
'''
tips_1 = ["Continue shopping!", "Go payment!"]
num = 1
for n_p in tips_1:
print(num,tips_1[num-1])
num+=1 def choose_2():
'''
打印金额不足选择
:return:
'''
tips_2 = ["Go recharge!","Go to remove goods!"]
num = 1
print("Your money are not enough!")
for n_p in tips_2:
print(num, tips_2[num - 1])
num += 1 def goods_list():
'''
显示购物车功能
:return:
'''
if goods_1 != 0:
print("已购买电脑数量: ",goods_1)
if goods_2 != 0:
print("已购买鼠标数量: ",goods_2)
if goods_3 != 0:
print("已购买游艇数量: ",goods_3)
if goods_4 != 0:
print("已购买美女数量: ",goods_4) if __name__ == '__main__':
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
p_goods = []
money_bsum = 0
g_goods = []
goods_1 = 0
goods_2 = 0
goods_3 = 0
goods_4 = 0
num = 0 money_sum = int(input("Please input your total money in your wallet: ")) tag_1 = True
while tag_1: #商品购物
shangpin()
num = int(input("Please choose your favorite goods of id: "))
if num in range(1,5): #选择商品,购物总价叠加,并加入新购物列表,以便移除.
money_bsum = money_bsum + int(p_goods[num-1])
if num == 1:
goods_1 += 1
print("电脑 加入购物车!目前数量: ", goods_1)
elif num == 2:
goods_2 += 1
print("鼠标 加入购物车!目前数量: ", goods_2)
elif num == 3:
goods_3 += 1
print("游艇 加入购物车!目前数量: ", goods_3)
elif num == 4:
goods_4 += 1
print("美女 加入购物车!目前数量: ", goods_4)
else:
print("Please input correct ID.")
choose_1()
choose_id = input("1 & 2 ?")
if choose_id == "":
tag_1 = False tag_2 = True
while tag_2: #支付选择,如果余额不足,充值或移除商品至支付成功。
if money_bsum <= money_sum:
print("Pay successful!")
tag_2 = False
else :
choose_2()
choose_id = input("1 & 2 ?")
if choose_id == "":
money_sum += int(input("Please input your recharge money: "))
elif choose_id == "":
goods_list()
shangpin()
while tag_2:
num_del = int(input(print("Please choose your del goods of id: ")))
if num_del == 1 and goods_1 != 0:
goods_1 -= 1
money_bsum -= 1999
if money_bsum <= money_sum:
tag_2 = False
elif num_del == 2 and goods_2 != 0:
goods_2 -= 1
money_bsum -= 10
if money_bsum <= money_sum:
tag_2 = False
elif num_del == 3 and goods_3 != 0:
goods_3 -= 1
money_bsum -= 20
if money_bsum <= money_sum:
tag_2 = False
elif num_del == 1 and goods_4 != 0:
goods_4 -= 1
money_bsum -= 998
if money_bsum <= money_sum:
tag_2 = False
print("You can offord your shopping!")
Day 16 购物车的更多相关文章
- Python 入门基础16 -- ATM + 购物车
ATM + 购物车 1.需求分析 2.设计程序以及程序的架构 设计程序的好处: - 扩展性强 - 逻辑清晰 3.分任务开发 4.测试 黑盒: 白盒: 对程序性能的测试 5.上线运行 # Tank -- ...
- 12月16日 增加一个购物车内product数量的功能, 自定义method,在helper中定义,计算代码Refactor到Model中。
仿照Rails实战:购物网站 教材:5-6 step5:计算总价,做出在nav上显示购物车内product的数量. 遇到的❌: 1. <% sum = 0 %> <% current ...
- PHP之购物车的代码
该文章记录了购物车的实现代码,仅供参考 book_sc_fns.php <?php include_once('output_fns.php'); include_once('book_fns. ...
- 使用session页面控制登录入口及购物车效果的实现
由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容.实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只 ...
- js抛物线动画——加入购物车动效
参考文章:http://www.zhangxinxu.com/wordpress/2013/12/javascript-js-元素-抛物线-运动-动画/ parapola.js /*! * by zh ...
- iOS_一个购物车的使用
这个项目是本人原创:要转载,请说明下:http://www.cnblogs.com/blogwithstudyofwyn/p/5618107.html 项目的地址:https://github.com ...
- javascript仿天猫加入购物车动画效果
javascript仿天猫加入购物车动画效果 注意:首先需要声明的是:代码原思路不是我写的,是在网上找的这种效果,自己使用代码封装了下而已:代码中都有注释,我们最主要的是理解抛物线的思路及在工作中 ...
- [转]一步一步asp.net_购物车订单与支付宝
本文转自:http://www.cnblogs.com/mysweet/archive/2012/05/19/2508534.html 最近这几天很忙,一边忙着准备一堆课程设计(8门专业课.....伤 ...
- php 购物车的例子
网上搜到的,简单容易理解.cookie存购物车ID,db存购物车数据. //购物车session的产生代码 1 if(! $session && ! $scid) { 2 / ...
随机推荐
- matplotlib绘图(一)
绘制这折现图 导入响应的包 import numpy as npimport pandas as pdfrom pandas import Series,DataFrame%matplotlib in ...
- python入门:用户登录,三次错误机会
#!/usr/bin/env python # -*- coding:utf-8 -*- #用户登录,三次机会重试 #主要分为两个部分,一部分是写三次循环,一部分写用户输入 #用户登录的实现,循环3次 ...
- 【php】 phpword下载文件问题
这个问题是在 科锐国际 工作过程中发现的 word文档的名字(有汉字和空格)在windows系统上遍历是查不到文件的,但是在linux系统上市可以的压缩包里面的中文名word文档,如果出现汉字和空格, ...
- jnative 使用
下载地址: JNative_1.4RC2_src.zip : http://jaist.dl.sourceforge.net/sourceforge/jnative/JNative_1.4RC2_sr ...
- VMware-Ubuntu入门(1)
大家都说Linux系统是让程序员用起来更有成就感的系统,我也来体验下: 对于小白鼠的我,并没有直接在电脑上重装Linux系统,而是通过VMware工具搭建Ubuntu虚拟linux环境. 首先展示下V ...
- jade和ejs两者的特点
jade特点 1超强的可读性 2灵活易用的缩进 3块扩展 4代码默认进过编码处理,以增强安全性 5编译及运行时的上下文错误报告 6命令行编译支持 7html5模式(使用 !!!5文档类型) 8可选的内 ...
- PHP协程是通过生成器实现的,这里测试了PHP生成器的一些特性
学习PHP的生成器,测试了一些特性.代码如下: function gen() { $name = (yield 'hello'); $nickname = (yield 'world'); yield ...
- JQuery常用的HTML页控制取值、赋值
1,关于tab页签 获取当前页签的属性: var tabsSelect=$("#easytabs").tabs("getSelected"); var titl ...
- 【Luogu】P2801教主的魔法(分块)
题目链接 激动qwq.这是我A的第一道分块. 分块之后对块内元素暴力sort.修改的时候对于整块打个标记,查询的时候只需要查C-tag就行了 对于非整块,暴力修改,改完之后sort 对于查询……非整块 ...
- 【bzoj3270】博物馆
同样是高斯消元,我写的版本就受到了歧视 我怎么又犯把 $j$ 打成 $i$ 这种 $sb$ 错误 题意 一张无向图,两个人分别从 $s_1$ 号点和 $s2$ 号点开始,每轮两人都会同时进行一次以下操 ...