作业之购物车

购物车的要求如下:

  1. 输入总金额
  2. 选择购买的商品,金额足够时,把选择的商品添加到购物车,金额不足时,进行提示,商品将不会添加到购物车
  3. 随时可以退出程序,同时输出已购买的商品

具体代码如下:

commoditys = [['pen',3],['bike',600],['pad',3000],['iphone',6000],['computer',5000],]#声明所有商品的列表
shopping_car = []#声明一个空列表作为购物车
money = input('请输入你的金额:').strip()#输入总金额,并对字符串进行两边去空格
if money.isdigit():#判断输入的字符串是否是纯数字
money = int(money)#把字符串类型的数字转换为int类型
while True:#声明一个循环
for index,commodity in enumerate(commoditys,1):#使用枚举函数遍历商品总列表
print(index,'\033[34m%s\033[0m'%commodity[0],'\033[31m%s\033[0m'%commodity[1])#打印商品明细并指定输出的颜色
print('选择Q或者q时,将退出程序!')
choice = input('请选择你要购买的商品编号:').strip()
if choice.isdigit():#判断输入的字符串是否是纯数字
if int(choice) in range(1,6):#判断输入的数字是否在1-6的范围内,不包括6
if money >= commoditys[int(choice)-1][1]:#判断金额是否大于选择的商品价格
money -= commoditys[int(choice)-1][1]#总金额减去已经选择的商品的价格
shopping_car.append(commoditys[int(choice)-1])#把已选择的商品加入到购物车列表中
print('商品\033[34m%s\033[0m已经加入到购物车!'% commoditys[int(choice)-1][0])
print('您的余额为\033[31m%s\033[0m元!'% money)
continue
else:
print('您的余额不足以购买该商品,请选择其他商品!')
continue
else:
print('您的输入有误,请重新输入!')
continue
else:
if choice == 'q' or choice == 'Q':
if bool(shopping_car) == True:#判断购物车列表是否是空的
print('购买商品明细表'.center(30,'*'))
for i in shopping_car:#遍历购物车列表的商品
print('商品为:\033[34m%s\033[0m,价格为:\033[31m%s\033[0m'% (i[0],i[1]))
else:
print('您本次并未消费!')
print('您的余额为\033[31m%d\033[0m元!欢迎下次光临!'% money)
print('程序已退出!')
break
else:
print('您的输入有误,请重新输入!')
continue
else:
print('您输入的金额不对,程序已退出!谢谢您的使用!')

Python作业之购物车的更多相关文章

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

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

  2. python作业:购物车(第二周)

    一.作业需求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4 ...

  3. Python作业day2购物车

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

  4. python作业ATM(第五周)

    作业需求: 额度 15000或自定义. 实现购物商城,买东西加入 购物车,调用信用卡接口结账. 可以提现,手续费5%. 支持多账户登录. 支持账户间转账. 记录每月日常消费流水. 提供还款接口. AT ...

  5. python练习_购物车(简版)

    python练习_购物车(简版) 需求: 写一个python购物车可以输入用户初始化金额 可以打印商品,且用户输入编号,即可购买商品 购物时计算用户余额,是否可以购买物品 退出结算时打印购物小票 以下 ...

  6. Python作业第一课

    零基础开始学习,最近周边的同学们都在学习,我也来试试,嘿嘿,都写下来,下次不记得了还能来看看~~ Python作业第一课1)登陆,三次输入锁定,下次不允许登陆2)设计一个三级菜单,菜单内容可自行定义, ...

  7. Python作业-选课系统

    目录 Python作业-选课系统 days6作业-选课系统: 1. 程序说明 2. 思路和程序限制 3. 选课系统程序目录结构 4. 测试帐户说明 5. 程序测试过程 title: Python作业- ...

  8. python作业购物车(第二周)

    一.作业需求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4 ...

  9. [作业] Python入门基础---购物车小程序

    1.购物车小程序: 1.1用户输入工资取60% 1.2打印输出商品菜单 1.3由用户输入数字选择 #__author:Mifen #date: 2018/11/27 # 购物车程序 #把工资作为账户的 ...

随机推荐

  1. DBA 小记 — 分库分表、主从、读写分离

    前言 我在上篇博客 "Spring Boot 的实践与思考" 中比对不同规范的 ORM 框架应用场景的时候提到过主从与读写分离,本篇随笔将针对此和分库分表进行更深入地探讨. 1. ...

  2. IE浏览器支持响应式网站设计

    目前响应式网站设计比较流行, 下面是摘自百度百科有关响应式设计的定义. 响应式网站设计是一种网络页面设计布局,其理念是:集中创建页面的图片排版大小,可以智能地根据用户行为以及使用的设备环境进行相对应的 ...

  3. 原始的Ajax方法 (异步的 JavaScript 和 XML -- (Extensible Markup Language 可扩展标记语言))

    <script language="javascript" type="text/javascript"> var request = false; ...

  4. mysql数据库的三范式的设计与理解

    一般的数据库设计都需要满足三范式,这是最基本的要求的,最高达到6NF,但是一般情况下3NF达到了就可以 一:1NF一范式的理解: 1NF是关系型数据库中的最基本要求,就是要求记录的属性是原子性,不可分 ...

  5. LeetCode & Q268-Missing Number-Easy

    Array Math Bit Manipulation Description: Given an array containing n distinct numbers taken from 0, ...

  6. 云计算学习(5-1)云平台产品介绍-华为的FusionCloud产品

    FusionSphere云平台:继承了虚拟化和云管理系统,为企业构建私有云  FusionManager:云管理平台(管理计算虚拟化.网络虚拟化.存储虚拟化) FusionCompute.Fusion ...

  7. spring5——Aop的实现原理(动态代理)

    spring框架的核心之一AOP,面向切面编程是一种编程思想.我对于面向切面编程的理解是:可以让我们动态的控制程序的执行流程及执行结果.spring框架对AOP的实现是为了使业务逻辑之间实现分离,分离 ...

  8. IPv6原理、应用与实践

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯微信技术架构部团队 2017年11月26日,中共中央办公厅和国务院办公厅印发了<推荐互联网协议第六版(IPv6)规模部署行动 ...

  9. python当中的生成器

    最近身边的朋友都在问我迭代器是什么回事,经常跟大家一起讨论python的迭代器,一点点的我觉着自己有了更深一层的理解.我写下这篇文章,希望能对懵懵懂懂的好伙伴有些帮助~ 我也不是什么能人,难免说错一些 ...

  10. java创建线程的三种方法

    这里不会贴代码,只是将创建线程的三种方法做个笼统的介绍,再根据源码添加上自己的分析. 通过三种方法可以创建java线程: 1.继承Thread类. 2.实现Runnable接口. 3.实现Callab ...