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 / ...
随机推荐
- VUE2.0声明周期钩子:不同阶段不同钩子的开启
- 怎么删除服务中的mysql服务
可以进WINDOWS的管理里查看MYSQL的服务,把它停止或以DOS下用命令停止1.如果要卸载MYSQL执行下面命令:DOS下>mysqld -remove mysql2.启动MYSQL: DO ...
- Linux入门学习笔记1:VI常用命令
常用命令 yy 复制 p 黏贴 shift+v 多行选中 shift+ctrl+< 左移 shift+ctrl+> 右移 ndd 删除光标所在行及其后n-1行 i 进入编辑状态 esc 退 ...
- Developing for nRF52810(转载)
Table of Contents Introduction Hardware emulation of nRF52810 Limitations Software emulation of nRF5 ...
- 排序 sort函数
sort函数见下表: 函数名 功能描述 sort 对给定区间所有元素进行排序 stable_sort 对给定区间所有元素进行稳定排序 partial_sort 对给定区间所有元素部分排序 partia ...
- HDU 4812 D Tree 树分治
题意: 给出一棵树,每个节点上有个权值.要找到一对字典序最小的点对\((u, v)(u < v)\),使得路径\(u \to v\)上所有节点权值的乘积模\(10^6 + 3\)的值为\(k\) ...
- Python选修课第二届Turtle绘图大赛~~画猫猫
(a)20161401167 夏思敏 20161401179 段梦格 (b)代码执行视频链接 点击查看:Python使用turtle库画猫猫 (c)程序源码 import turtle turtle. ...
- JAVA-基础(六) Java.serialization 序列化
序 列 化 序列化(serialization)是把一个对象的状态写入一个字节流的过程. Serializable接口 只有一个实现Serializable接口的对象可以被序列化工具存储和恢复.Ser ...
- luogu1903 【模板】分块/带修改莫队(数颜色)
莫队算法模板 推荐阅读这篇博客 #include <algorithm> #include <iostream> #include <cstdio> #includ ...
- 1.部署虚拟环境安装linux系统
第1章 部署虚拟环境安装linux系统 章节简述: 本章从零基础详细讲解了虚拟机软件与红帽Linux系统,完整演示了VM虚拟机的安装与配置过程,以及红帽RHEL 7系统的安装.配置过程和初始化方法.此 ...