作业之购物车

购物车的要求如下:

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

具体代码如下:

  1. commoditys = [['pen',3],['bike',600],['pad',3000],['iphone',6000],['computer',5000],]#声明所有商品的列表
  2. shopping_car = []#声明一个空列表作为购物车
  3. money = input('请输入你的金额:').strip()#输入总金额,并对字符串进行两边去空格
  4. if money.isdigit():#判断输入的字符串是否是纯数字
  5. money = int(money)#把字符串类型的数字转换为int类型
  6. while True:#声明一个循环
  7. for index,commodity in enumerate(commoditys,1):#使用枚举函数遍历商品总列表
  8. print(index,'\033[34m%s\033[0m'%commodity[0],'\033[31m%s\033[0m'%commodity[1])#打印商品明细并指定输出的颜色
  9. print('选择Q或者q时,将退出程序!')
  10. choice = input('请选择你要购买的商品编号:').strip()
  11. if choice.isdigit():#判断输入的字符串是否是纯数字
  12. if int(choice) in range(1,6):#判断输入的数字是否在1-6的范围内,不包括6
  13. if money >= commoditys[int(choice)-1][1]:#判断金额是否大于选择的商品价格
  14. money -= commoditys[int(choice)-1][1]#总金额减去已经选择的商品的价格
  15. shopping_car.append(commoditys[int(choice)-1])#把已选择的商品加入到购物车列表中
  16. print('商品\033[34m%s\033[0m已经加入到购物车!'% commoditys[int(choice)-1][0])
  17. print('您的余额为\033[31m%s\033[0m元!'% money)
  18. continue
  19. else:
  20. print('您的余额不足以购买该商品,请选择其他商品!')
  21. continue
  22. else:
  23. print('您的输入有误,请重新输入!')
  24. continue
  25. else:
  26. if choice == 'q' or choice == 'Q':
  27. if bool(shopping_car) == True:#判断购物车列表是否是空的
  28. print('购买商品明细表'.center(30,'*'))
  29. for i in shopping_car:#遍历购物车列表的商品
  30. print('商品为:\033[34m%s\033[0m,价格为:\033[31m%s\033[0m'% (i[0],i[1]))
  31. else:
  32. print('您本次并未消费!')
  33. print('您的余额为\033[31m%d\033[0m元!欢迎下次光临!'% money)
  34. print('程序已退出!')
  35. break
  36. else:
  37. print('您的输入有误,请重新输入!')
  38. continue
  39. else:
  40. 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. WebApi 方法的参数类型总结。

    1:[HttpGet]  ①:get方法之无参数. [HttpGet] public IHttpActionResult GetStudentInfor() { List<StudentMode ...

  2. JAVA_SE基础——47.接口

    如果一个抽象类中的所有方法都是抽象的,则可以将这个类用另一种方法来定义,即接口~ 在定义接口时,需要用interface关键字来声明,具体实例如code1 接口的定义格式:interface 接口名{ ...

  3. 微信号的openid的深入理解

    header('Location:https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$this->appid.'&r ...

  4. 阿里云API网关(8)开发指南-SDK下载

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  5. Spring Security入门(2-1)Spring Security - 重要的过滤器

    1.自定义的filter机制 如果要对Web资源进行保护,最好的办法莫过于Filter,要想对方法调用进行保护,最好的办法莫过于AOP. Acegi对Web资源的保护,就是靠Filter实现的.Ace ...

  6. maven入门(1-2)settings.xml

    一.简介 settings.xml对于maven来说相当于全局性的配置,用于所有的项目, 当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时, ...

  7. c#**************

    ddfbvbb c v我wossssssss

  8. JavaScript的作用域链

    /* js当中 每个函数都是一个执行环境 函数调用函数会进入新的执行环境结束之后再回来当前 作用域链: 在内部的作用域中可以访问和修改外部的变量 在外部作用域不能修改或者访问内部的变量 */ var ...

  9. 27.C++- 智能指针

    智能指针 在C++库中最重要的类模板之一 智能指针实际上是将指针封装在一个类里,通过对象来管理指针. STL中的智能指针auto_ptr 头文件: <memory> 生命周期结束时,自动摧 ...

  10. Nginx配置特定二级域名

    首先把先在域名设置页面把二级域名解析到服务器的公网IP上,这里假设是 bbs.domainname.com 然后编辑 /etc/nginx/sites-available/domain.com.con ...