作业之购物车

购物车的要求如下:

  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. css3动画transition详解

    一.transition-property 语法: transition-property : none | all | [ <IDENT> ] [ ',' <IDENT> ] ...

  2. php类中的$this,static,const,self这几个关键字使用方法

    本篇文章主要分享一下关于php类中的$this,static,final,const,self这几个关键字使用方法 $this $this表示当前实例,在类的内部方法访问未声明为const及stati ...

  3. oracle sequence 异常

    对于数据量较大的序列进行分析 ,出现风险有两种情况1. 序列号随着业务增加变大时,DB的字段空间不足.>>产生后果:插入报错.>>解决方案:给存储序列号的字段进行扩容,且字段长 ...

  4. PyQt5--基础篇:用eric6工具实现三级联动效果

    今天给大家介绍下python gui界面的三级联动效果,我们用工具eric6来实现,先看下效果图. 首先我们先创建项目linkage,再新建窗体进入到Qt设计师工具开始设计界面,完成后保存并退出. 在 ...

  5. 最短路径之Dijkstra算法

    Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Dijkstra算法能得出最短路径的最优 ...

  6. 爆炸,解体,入侵,你想得到的你想不到的大BUG们

    郑昀 创建于2017/9/29 最后更新于2017/10/6 提纲: 阿丽亚娜火箭的解体 阿波罗飞船的P01模式 德勤的Google+ 麻省理工的500英里邮件 又到了扶额兴叹的节气.(前文回顾:5年 ...

  7. Jenkins: Can't connect to Docker daemon解决办法

    Jenkins安装后首次使用报错: Jenkins: Can't connect to Docker daemon 解决办法: 参照StackOverflow 添加jenkins用户到dockergr ...

  8. 接口自动化测试:python+json+requests+数据驱动

    接口测试是单元测试的一个子集,但又不等同于单元测试.从测试的角度来看,接口测试的价值在于其测试投入比单元测试少,而且技术难度也比单元测试小.一般来说,接口测试的粒度要比单元测试更粗,它主要是基于子系统 ...

  9. shell实现脚本监控服务器及web应用

    实际工作中我们需要知道部署在服务器上的应用有没有问题,但是人为的操作太麻烦有咩有简单的方式呢shell来监控我们服务器运行状态以及服务器上部署的应用,如果出现异常就会自动发送一个邮件给我们,开始搞起. ...

  10. 机器学习技法:03 Kernel Support Vector Machine

    Roadmap Kernel Trick Polynomial Kernel Gaussian Kernel Comparison of Kernels Summary