print('欢迎访问购物车')
money = int(input('为方便购物,请输入您的总资产:')) #输入金钱必须为数字类型
shopping_price_list = [{"name": "电脑", "price": 1000} ,
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 2000} ]
shopping_car = []
while True:
index = 0
for goods in shopping_price_list:
print(index, goods)
index += 1
choice = input('请选择序号: (如果退出请输入q)').strip().lower()
# 判断输入的是否为数字
if choice.isdigit():
choice = int(choice )
#判断商品存在
if choice >=0 and choice <len(shopping_price_list):
goods = shopping_price_list[choice]
count = int(input('请输入你要购买的数量:'))
#判断是否买得起
if goods['price']*count <= money:
goods.setdefault('count',count)
shopping_car.append(goods)
money -= goods['price']*count
print('目前购买商品为: '+ goods['name'] + ' 购买数量:'+ str(count) + ' 当前余额为:'+ str(money)) else:
money1 = goods['price']*count-money
print('资金不够,还差%s钱'%money1)
break
else:
print("商品不存在,请重新选择:")
elif choice == 'q':
print('----------已购买商品列表----------------')
for i in shopping_car:
print(i)
print('目前余额为:',money)
break
else:
print("无此选项")
-------------------------------------------------------------------------------------------------------------------------
更改输出颜色:
if goods['price']*count <= money:
goods.setdefault('count',count)
shopping_car.append(goods)
money -= goods['price']*count
print('\033[31;1m目前购买\033[0m 商品为: '+ goods['name'] + ' 购买数量:'+ str(count) + ' 当前余额为:'+ str(money))---------此方式会将目前购买四个字输出颜色为红色
更改31数字可改变颜色加暗影等一系列特效。多试一下就好了! \033[1m 代表开始符 \033[0m 代表结束符 ---------------------------------------------------------------------------------------------------------------------------

DAY2练习-购物车的更多相关文章

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

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

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

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

  3. Day2:购物车小程序

    一.购物车小程序第一版 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan product_list = [ (&quo ...

  4. python学习 day19 configparser模块 os模块 subprocess模块

    上周五回顾 logging 用于记录日志 四种核心角色: 生成器Logger 过滤器Filter 处理器Handler 格式化处理器 Formatter logging.info.debug 使用默认 ...

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

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

  6. Python3.5 Day2作业:购物车程序

    需求: 1. 启动程序后,用户通过账号密码登录,然后打印商品列表. 2. 允许用户根据商品编号购买商品. 3. 用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒充值. 4. 可随时退出,退出 ...

  7. Python之路 day2 购物车小程序1

    #Author:ersa ''' 程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时 ...

  8. Python作业day2购物车

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

  9. day2 购物车

    需求: 商家入口: 1.商品列表永久保存(暂时使用存储在文件,也可以使用sqlite)里. 2.商家可以增加商品,也可以修改商品价格 买家入口: 1.购物车信息永久保存,暂时使用存储在文件,也可以使用 ...

随机推荐

  1. ImportFileHandler 附件上传

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using LitJson; ...

  2. BUTXO详解

    在比原链中,每个交易消耗之前交易生成的BUTXO 然后生成新的 BUTXO,账户的余额即所有属于该地址的未花费 BUTXO 集合,BTM 的全局状态即当前所有未花费的BUTXO 集合.我们用一个具体的 ...

  3. vue页面优化中的v-show和v-if使用比较

    在页面中使用了v-if做了一个tab框,点击不同的tab框,并加载不同的内容,由于各tab框对应的内容是4到5张统计图,加载的数据量比较大,发现后台请求响应返回的时间很快,在100ms以内,但点击ta ...

  4. 前端基础面试题(JS部分)

    1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined.Null.Boolean.Number.String 值类型:数值.布尔值.null.und ...

  5. 解决来自美国IP的攻击过程

    1.因为最近接口文档confluence服务总是自动关闭.   解决方法: 1.查看阿里云上的报警提示,看到来自外国的Ip的攻击.这时我选择把攻击的IP加入黑名单. 加入黑名单的方法:https:// ...

  6. js switch 用法

    //获取星期 //例子1 var day=new Date().getDay(); switch (day) { : x="Today it's Saturday"; break; ...

  7. Flume+Sqoop+Azkaban笔记

    大纲(辅助系统) 离线辅助系统 数据接入 Flume介绍 Flume组件 Flume实战案例 任务调度 调度器基础 市面上调度工具 Oozie的使用 Oozie的流程定义详解 数据导出 sqoop基础 ...

  8. js ++i和i++的区别

    ++i和i++的定义: 1.  如果用前缀运算符对一个变量增1(减1),则在将该变量增1(减1)后,用新值在表达式中进行其他的运算.    2. 如果用后缀运算符对一个变量增1(减1),则用该变量的原 ...

  9. 腾讯云centos7.2安装宝塔面板和LAMP

    1.安装好centos7.2系统后,登录centos系统输入如下命令: yum install -y wget && wget -O install.sh http://downloa ...

  10. 【转】EDID的简介和解析

    转自:https://www.cnblogs.com/beyond-rxl/p/9266997.html 一.EDID简介 EDID: Extended Display Identification ...