Python-S13-day2-之购物车
Python-S13-day2
需求:
1.写一个购物小程序,用户开始先输入自己的工资,然后可以不断的买东西并加入购物车,如果钱不够了提示余额不足,用户中途可以选择查看自己购物车里面的商品,以及余额,
或者可以选择退出程序,退出时并打印已经购买的商品,和自己的余额;
思路:
1.启动程序提示用户输入工资,然后打印欢迎信息;
2.打印商品列表,用户根据商品列表下标来购买商品;
3.用户选择输入,商品的下标,退出程序,或者check购物车;
(1)商品下标 : 判断用户购买的商品是否存在,存在判断自己的钱是否够,如果钱够,把商品加入购物车,并剪掉所购买商品的钱,如果购买商品钱不够提示余额不足,并打印当前余额;
(2)退出程序:如果用户输入,q或者quit,则退出程序,并打印已经购买的商品及余额;
(3)check购物车:如果用户输入,c或者check,则列出当前已经购买的商品,以及当前余额;
主程序:
#!/usr/bin/python env
#_*_coding:utf-8 _*_
salary = input("Your input salary:")
if salary.isdigit():
salary = int(salary)
else:
print("Invalid data type.")
#让用户输入工资,并判读输入的是否为数字,如果不是,则退出;
welcome_msg = "welcome to shopping.".center(40,'-')
print(welcome_msg) exit_flag = False
#设置标志位,用于判读退出程序使用; product_list = [
('Iphone',5888),
('IPad',3888),
('XiaoMi',888),
('Bike',900),
('Coffer',58),
('Tesla',588888),
] shop_car=[]
#定义一个购物车,用户存放已经购买的商品;
while exit_flag is not True:
#判断上边定义的标志位,如果不是Ture则一直循环;
for item in enumerate(product_list):
#这里主要是为了取下标;
index = item[0]
p_name = item[1][0]
p_price = item[1][1]
#取下标,商品名称,商品价格;
print(index,'.',p_name,p_price)
user_choice = input("q=quit,c=check,Or continue Buy num:")
if user_choice.isdigit():
user_choice = int(user_choice)
if user_choice < len(product_list):
#判断用户输入的商品序号是否存在;
p_item = product_list[user_choice]
#这里定义的变量取商品的名称
if p_item[1] <= salary:
#判断购买商品价格是否小于剩余的工资;
shop_car.append(p_item)
#如果钱够,就把商品加入购物车
salary -= p_item[1]
#减掉所购买商品的钱
print("shopping add %s list,b"
"alance is %s."%(p_item,salary))
else:
print("Balance is not %s"%salary)
else:
if user_choice == 'q' or user_choice == 'quit':
for item in shop_car:
print(item)
#如果用户输入的q或者quit,则打印出已经购买的商品
print("shopping over.")
print("Balance is %s"%salary)
exit_flag = True
#定义退出程序
elif user_choice == 'c' or user_choice == 'check':
print("purchased products as below".center(40,'*'))
for item in shop_car:
print(item)
print("check shoping....,Balance is %s"%salary)
Readme:
流程图:

Python-S13-day2-之购物车的更多相关文章
- python基础day2作业:购物车
#功能:1.可注册账号2.登录买家账号3.可查询编辑购物车里商品4.可以余额充值5.可提示余额不足6.购物车结算 #使用:1.第一次使用先注册账号填写账号金额2.账号金额信息保存在buyer_acco ...
- (转)Python作业day2购物车
Python作业day2购物车 原文:https://www.cnblogs.com/spykids/p/5163108.html 流程图: 实现情况: 可自主注册, 登陆系统可购物,充值(暂未实现) ...
- python s12 day2
python s12 day2 入门知识拾遗 http://www.cnblogs.com/wupeiqi/articles/4906230.html 基本数据类型 注:查看对象相关成员 var, ...
- 使用python操作文件实现购物车程序
使用python操作文件实现购物车程序 题目要求如下: 实现思路 始终维护一张字典,该字典里保存有用户账号密码,购物车记录等信息.在程序开始的时候读进来,程序结束的时候写回文件里去.在登录注册的部分, ...
- Python培训12期-day2作业-购物车
#!/usr/bin/env python import sys import os import getpass 商品={ '图书': { "<Puppet实战>": ...
- Python作业day2购物车
流程图: 实现情况: 可自主注册, 登陆系统可购物,充值(暂未实现),查询余额. 撸了两天一夜的代码,不多说,直接上码,注释神马的后面再说 #!/usr/bin/env python # -*- co ...
- Python学习-day2
这周时间充裕,把第一周的两个作业登陆验证和三级菜单做完后又用零零散散的时间看完了第二周的课程,不得不说老男孩这个教育方式感觉还是不错的,其实说白了就是花钱找个人监督自己学习呗,而且还强行让我们养成一些 ...
- Python基础-day2
1.Python模块python 中导入模块使用import语法格式:import module_name示例1: 导入os模块system('dir')列出当前目录下的所有文件 # _*_ codi ...
- python学习day2
一.模块初识 python模块 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用 ...
- 第一个简单的python程序,模拟购物车
第一个pyhone程序,简单的购物车功能,刚开始学习,练习下手感. #/usr/bin/env python#-*- coding:utf-8 -*- salary = int(raw_input(& ...
随机推荐
- Leetcode | substr()
求子串当然最经典的就是KMP算法了.brute force算法在leetcode上貌似也有一些技巧. brute force: char* StrStr(const char *str, const ...
- Robocopy
用法: http://technet.microsoft.com/zh-cn/library/cc733145%28v=ws.10%29.aspx 图形化工具: http://sourceforg ...
- php运行模式的比较(转)
PHP运行模式有4钟:1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli 命令行运行 ( ...
- 彻底搞清楚字符编码: ASCII, ISO_8859, GB2312,UCS, Unicode, Utf-8
彻底搞清楚字符编码: ASCII, ISO_8859, GB2312,UCS, Unicode, U 1.ASCII: 0-127(128-255未使用),美国标准 2.IS0-8859-1(lati ...
- NV 200, 300, 400, 500, 600, 700, 800
NV GF6系列架构分析(GPU gem2 读书笔记) http://www.cnblogs.com/wangdaniu/archive/2006/02/20/334089.html 总线带宽:PCI ...
- twitter storm源码走读之8 -- TridentTopology创建过程详解
欢迎转载,转载请注明出处,徽沪一郎. 从用户层面来看TridentTopology,有两个重要的概念一是Stream,另一个是作用于Stream上的各种Operation.在实现层面来看,无论是str ...
- Memcached 笔记与总结(2)编译 php-memcache 扩展
环境:CentOS 6.6 + Apache 2.2.21 + PHP 5.3.10 php-memcache 是 php 写的 memcached 的客户端,以扩展的形式发布. 对于正在运行的 ph ...
- sql in查询排序
1.默认下,使用select xxx where in(xx,xx)查询,返回结果是按主键排序的,如果要按in()中值的排列顺序,可以这样做: select * from talbe where ...
- 【CEDEC 2015】【夏日课堂】制作事宜技术篇,新手职员挑战VR Demo开发的真相
日文原文地址 http://www.4gamer.net/games/277/G027751/20150829002/ PS:CEDEC 2015的PPT有些要到10月才有下载,目前的都是记者照片修图 ...
- 转载:C/C++源代码到可执行程序的过程详解
C/C++源代码到可执行程序的过程详解 编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格 ...