Python作业之购物车
作业之购物车
购物车的要求如下:
- 输入总金额
- 选择购买的商品,金额足够时,把选择的商品添加到购物车,金额不足时,进行提示,商品将不会添加到购物车
- 随时可以退出程序,同时输出已购买的商品
具体代码如下:
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作业之购物车的更多相关文章
- (转)Python作业day2购物车
Python作业day2购物车 原文:https://www.cnblogs.com/spykids/p/5163108.html 流程图: 实现情况: 可自主注册, 登陆系统可购物,充值(暂未实现) ...
- python作业:购物车(第二周)
一.作业需求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4 ...
- Python作业day2购物车
流程图: 实现情况: 可自主注册, 登陆系统可购物,充值(暂未实现),查询余额. 撸了两天一夜的代码,不多说,直接上码,注释神马的后面再说 #!/usr/bin/env python # -*- co ...
- python作业ATM(第五周)
作业需求: 额度 15000或自定义. 实现购物商城,买东西加入 购物车,调用信用卡接口结账. 可以提现,手续费5%. 支持多账户登录. 支持账户间转账. 记录每月日常消费流水. 提供还款接口. AT ...
- python练习_购物车(简版)
python练习_购物车(简版) 需求: 写一个python购物车可以输入用户初始化金额 可以打印商品,且用户输入编号,即可购买商品 购物时计算用户余额,是否可以购买物品 退出结算时打印购物小票 以下 ...
- Python作业第一课
零基础开始学习,最近周边的同学们都在学习,我也来试试,嘿嘿,都写下来,下次不记得了还能来看看~~ Python作业第一课1)登陆,三次输入锁定,下次不允许登陆2)设计一个三级菜单,菜单内容可自行定义, ...
- Python作业-选课系统
目录 Python作业-选课系统 days6作业-选课系统: 1. 程序说明 2. 思路和程序限制 3. 选课系统程序目录结构 4. 测试帐户说明 5. 程序测试过程 title: Python作业- ...
- python作业购物车(第二周)
一.作业需求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4 ...
- [作业] Python入门基础---购物车小程序
1.购物车小程序: 1.1用户输入工资取60% 1.2打印输出商品菜单 1.3由用户输入数字选择 #__author:Mifen #date: 2018/11/27 # 购物车程序 #把工资作为账户的 ...
随机推荐
- Oracle RAC环境下定位并杀掉最终阻塞的会话
实验环境:Oracle RAC 11.2.0.4 (2节点) 1.模拟故障:会话被级联阻塞 2.常规方法:梳理找出最终阻塞会话 3.改进方法:立即找出最终阻塞会话 之前其实也写过一篇相关文章: 如何定 ...
- CSS你所不知的伪元素的用法
你所不知的 CSS ::before 和 ::after 伪元素用法 博客分类: Div / Css / XML / HTML5 CSS 有两个说不上常用的伪类 :before 和 :after, ...
- .Net Core SignalR 实时推送信息
以前一直没用成功过SignalR(.net asp),最近几天又参考了对应的文档,最终调成功啦. 开始之前,应该注意: 一定要.Net Core 2.1.0以上的SDK. VS2017 15.6以上的 ...
- SpringCloud的应用发布(四)顺序启动各个应用
一.部署应用 二.启动应用(注意顺序) 三.观察效果 1.查看进程和日志 ps -ef | grep java tail -f AppYml.txt 2.验证功能
- python的单元测试
单元测试实际上就是一些"断言"(assert)代码 断言就是判断一个函数或对象的一个方法所产生的结果是否符合你期望的那个结果. python中assert断言是声明布尔值为真的判定 ...
- Django:(博客系统)使用使用mysql数据->后台管理tag/post/category的配置
Django后台一般是不需要人为的去开发的,因为django已经通过配置实现哪些模块是后台需要管理,如何排序,列表展示哪些列,列显示名称,是否为空(默认值),过滤条件,分页页数,列表中哪些项可编辑等等 ...
- Hibernate(十六):Hibernate二级缓存
Hibernate缓存 缓存(Cache):计算机领域非常通用的概念.它介于应用程序和永久性数据存储源(如磁盘上的文件或者数据库)之间,起作用是降低应用程序直接读取永久性数据存储源的频率,从而提高应用 ...
- dict的update方法
dict = {'Name': 'Zara', 'Age': 7} dict2 = {'Sex': 'female' } dict.update(dict2)输出结果:{'Age': 7, 'Name ...
- jquery中的attr()与prop()的区别
根据官方的建议:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()
- jacascript 判断元素尺寸和位置
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! getBoundingClientRect() 判断一个元素的尺寸和位置是简单的方法就是使用 obj.ge ...