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 / ...
随机推荐
- kmp和hash 字符串处理 哈希表
来自http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html 并进行自己的简单整 ...
- Docker系列一:Docker的介绍和安装
Docker介绍 Docker是指容器化技术,用于支持创建和实验Linux Container.借助Docker,你可以将容器当做重量轻.模块化的虚拟机来使用,同时,你还将获得高度的灵活性,从而实现对 ...
- 如何在微信中发送"相册"文件时有选择性地显示视频文件
相信很多微信用户在使用微信给朋友,同事发送相册中的文件时,微信会显示你手机中的视频文件,这样很不方便. 如果要完全不显示视频文件: 随便在手机中建立一个文件夹,名字叫 ".nomedia&q ...
- POJ 1791 Parallelogram Counting(求平行四边形数量)
Description There are n distinct points in the plane, given by their integer coordinates. Find the n ...
- 计蒜客 The 2018 ACM-ICPC Chinese Collegiate Programming Contest Rolling The Polygon
include <iostream> #include <cstdio> #include <cstring> #include <string> #i ...
- install redis and used in golang on ubuntu 14.04
$ wget http://download.redis.io/releases/redis-3.0.3.tar.gz$ tar xzf redis-3.0.3.tar.gz$ cd redis-3. ...
- luogu2761 软件补丁问题
状压最短路 #include <iostream> #include <cstring> #include <cstdio> #include <queue& ...
- ccna 闫辉单臂路由 和 acl access control list
ccna 闫辉单臂路由 和 acl access control list 一单臂路由 当前园区网设计很少用到 成本低 小型的.局域网可用 二ACL acc ...
- 零基础学习 Python 之前期准备
写在之前 从今天开始,我将开始新的篇章 -- 零基础学习 Python,在这里我将从最基本的 Python 写起,然后再慢慢涉及到高阶以及具体应用方面.我是完全自学的 Python,所以很是明白自学对 ...
- 解压文件夹python
# _*_ coding: utf-8 _*_ import zipfile import shutil import os print os.getcwd() basedir = os.path.d ...