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-之购物车的更多相关文章

  1. python基础day2作业:购物车

    #功能:1.可注册账号2.登录买家账号3.可查询编辑购物车里商品4.可以余额充值5.可提示余额不足6.购物车结算 #使用:1.第一次使用先注册账号填写账号金额2.账号金额信息保存在buyer_acco ...

  2. (转)Python作业day2购物车

    Python作业day2购物车 原文:https://www.cnblogs.com/spykids/p/5163108.html 流程图: 实现情况: 可自主注册, 登陆系统可购物,充值(暂未实现) ...

  3. python s12 day2

    python s12 day2   入门知识拾遗 http://www.cnblogs.com/wupeiqi/articles/4906230.html 基本数据类型 注:查看对象相关成员 var, ...

  4. 使用python操作文件实现购物车程序

    使用python操作文件实现购物车程序 题目要求如下: 实现思路 始终维护一张字典,该字典里保存有用户账号密码,购物车记录等信息.在程序开始的时候读进来,程序结束的时候写回文件里去.在登录注册的部分, ...

  5. Python培训12期-day2作业-购物车

    #!/usr/bin/env python import sys import os import getpass 商品={ '图书': { "<Puppet实战>": ...

  6. Python作业day2购物车

    流程图: 实现情况: 可自主注册, 登陆系统可购物,充值(暂未实现),查询余额. 撸了两天一夜的代码,不多说,直接上码,注释神马的后面再说 #!/usr/bin/env python # -*- co ...

  7. Python学习-day2

    这周时间充裕,把第一周的两个作业登陆验证和三级菜单做完后又用零零散散的时间看完了第二周的课程,不得不说老男孩这个教育方式感觉还是不错的,其实说白了就是花钱找个人监督自己学习呗,而且还强行让我们养成一些 ...

  8. Python基础-day2

    1.Python模块python 中导入模块使用import语法格式:import module_name示例1: 导入os模块system('dir')列出当前目录下的所有文件 # _*_ codi ...

  9. python学习day2

    一.模块初识 python模块 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用 ...

  10. 第一个简单的python程序,模拟购物车

    第一个pyhone程序,简单的购物车功能,刚开始学习,练习下手感. #/usr/bin/env python#-*- coding:utf-8 -*- salary = int(raw_input(& ...

随机推荐

  1. mongodb与mysql命令对比

    mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(col ...

  2. Web前端开发规范文档你需要知道的事--HTML、css、js、文档等需要规范内容

          规范目的 为提高团队协作效率,便于后台人员添加功能及前端后期优化维护,输出高质量的文档,特制订此文档.本规范文档一经确认,前端开发人员必须按本文档规范进行前台页面开发.本文档如有不对或者不 ...

  3. react-amazeui-touch 妹子Ui移动端学习

    必须先配置并且学习react环境: http://www.cnblogs.com/CyLee/p/5668373.html 官方地址 http://t.amazeui.org/#/docs/form? ...

  4. Java静态块学习

    静态块是类里面的构造器,对象有构造器那么类也有构造器,类里面的构造器叫做初始化方法.也就是new一个对象他会经过一个构造器.加载一个类,也有被初始化的一片代码,这个就称之为静态块.一个类里面可以有很多 ...

  5. Ubuntu 12.04 LTS 及ubuntu14.10 -- NFS安装

    在Linux 服务器上配置好NFS 根文件系统后,在单板侧挂载NFS 文件系统,具体操作如下:ifconfig eth0 hw ether 00:10:85:18:01:84 /*配置MAC地址*/i ...

  6. 我的Ubuntu系统配置所作的备份记录如下

    Ubuntu无法关机解决办法 说明:如果不成功请参考一下文章最后的内容,也许会有帮助. 其实不止在ubuntu里面,fedora里面我也遇到了这个问题,就是电脑可以重启,但是不能直接关机,否则就一直停 ...

  7. Android 通过网页打开自己的APP(scheme)

    Android 通过网页打开自己的APP(scheme) 分类: android2014-07-09 17:35 8565人阅读 评论(2) 收藏 举报 通过用手机的浏览器(内置,第三方都可)访问一个 ...

  8. PHP测试用例练习

    本测试用例是一个判断三角形类型的练习测试用例,基于Netbeans 8.1IDE环境,和phpunit-5.2.10以及脚手架工具phpunit-skelgen-2.0.1.具体的环境搭建可参照: h ...

  9. 树莓派系统安装、HDMI显示

    树莓派上可以安装多种操作系统,我们采用的是官方的基于debian的raspbian.系统安装方式见 安装完系统由于我使用的是7寸的HDMI屏,装完系统如果配置不该的话会导致右边有一部分无法显示,所以在 ...

  10. w-BIG TABLE-view+where-small table

    w-BIG TABLE DROP PROCEDURE IF EXISTS truncate_insert_sales_rank_toparow_month; DELIMITER /w/ CREATE ...