"""
功能要求:
1.要求用户输入自己拥有的总资产,例如:2000
2.显示商品列表的序号,商品名称,商品价格,让用户根据序号选择商品,然后加入购物车
例如:
1 电脑 1999
2 鼠标 10
3 游艇 20 3.用户可以多次购买商品
4.用户输入q退出|输入n结算
5.结算的时候如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
] """
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}]
 account=int(input("请输入您的资产:"))
i=0
dic={}
for el in goods:
i+=1
dic.setdefault(str(i)+el["name"],el["price"]) #使用字符串拼接,把序号加到键前面
print(dic) lst=[] #创建一个列表形式的购物车
money=0 #购物车中初始值为0
while 1:
ret=input("请输入您要买的东西序号(q退出.n结算):").strip()
if ret.isdigit():
for el in dic:
if ret == el[0]: #利用切片得到商品序号,判断用户输入的序号是否是商品序号
lst.append(el[1:]) #将商品添加到列表中
money +=dic[el] #计算购物车中商品的总价
print("购物车中有:%s,消费总额为%s"%([i for i in lst],money)) elif ret.upper()=="Q": #执行退出操作
print("退出成功!\n余额还有%s"%account)
break
elif ret.upper()=="N": #执行结算操作
blance=account-money #余额 = 资产 - 消费总额
if blance <0:
print("您的余额不足!!!")
else:
print("购买成功,花费了%d,余额还剩%s"%(money,blance))
break
else:
print("输入有误,请再次输入!!!")

用python实现购物车功能的更多相关文章

  1. Django 实现购物车功能

    购物车思路:使用 session 功能识别不同浏览器用户,使得用户不管是否登录了网站,均能够把想要购买的产品放在某个地方,之后随时可以显示或修改要购买的产品,等确定了之后再下订单,购物车可以用来暂存商 ...

  2. Android 购物车功能的实现

    首先,众所周知,ListView是Android最常用的控件,可以说是最简单的控件,也可以说是最复杂的控件. 作为一个Android初级开发者,可能会简单的ListView展示图文信息. 作为一个有一 ...

  3. 【JSP】Cookie的使用及保存中文,并用Cookie实现购物车功能

    Cookie是服务器存放在客户端的一些数据,比如密码,以及你曾经访问过的一些数据. 设置Cookie //设置cookie Cookie cookie = new Cookie("TOM&q ...

  4. 给destoon商城的列表中和首页添加购物车功能

    如何给destoon商城的列表中和首页添加购物车功能? 目前加入购物车的功能只存在商城的详细页面里,有时候我们需要批量购买的时候,希望在列表页就能够使用这个加入购物车的功能. 修改步骤见下: 例如在商 ...

  5. ASP.NET之电子商务系统开发-2(购物车功能)

    一.前言 继上次的首页数据列表后,这是第二篇.记录一下购物车这个比较庞大的功能,可能实现的方法跟其他人有点不一样,不过原理都差不多,是将cookie存数据库里面的. 二.开始 首先看一下购物车流程及对 ...

  6. jQuery 复制节点的元素实现加入到购物车功能

    描写叙述: 用户点击左边div中的商品,相应商品会自己主动加入到右面的div中,类似电子商城中的加入到购物车功能. 主要用到了jquery中的复制节点功能,基本原理是首先获取点击的元素,然后将对应信息 ...

  7. 微信小程序之购物车功能

    前言 以往的购物车,基本都是通过大量的 DOM 操作来实现.微信小程序其实跟 vue.js 的用法非常像,接下来就看看小程序可以怎样实现购物车功能. 需求 先来弄清楚购物车的需求. 单选.全选和取消, ...

  8. JS实现添加至购物车功能

    效果图展示: 当将书拖拽至购物车一览时: 首先将页面的基本结构写出来: <!DOCTYPE html> <html lang="en"> <head& ...

  9. vue实战记录(五)- vue实现购物车功能之商品总金额计算和单选全选删除功能

    vue实战,一步步实现vue购物车功能的过程记录,课程与素材来自慕课网,自己搭建了express本地服务器来请求数据 作者:狐狸家的鱼 本文链接:vue实战-实现购物车功能(五) GitHub:sue ...

随机推荐

  1. 用CALayer实现下载进度条控件

    用CALayer实现下载进度条 效果: 源码: // // ViewController.m // ProgressView // // Created by YouXianMing on 14/11 ...

  2. 第三课 java编程入门

    java特点: 1.面对象性 2.可移植性/跨平台性 java组成: jdk(java工具开发工具包) /       \              \ jre       指令集合   api和常用 ...

  3. recycle bin tip

    if you have a question about recycle bin that can look the follow link; http://www.dba-oracle.com/t_ ...

  4. python操作mysql二

    游标 游标是一种能从包括多条数据记录的结果集中每次提取一条记录的机制,游标充当指针的作用,尽管游标能遍历结果中的所有行,但它一次只指向一行,游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行 ...

  5. DOM节点中获取文本易混淆的属性

    DOM 节点中对于获取文本易混淆的属性,innerText, innerHTML, outerHTML, textContent, nodeValue. 一个实例: <!DOCTYPE html ...

  6. cogs 2355. [HZOI 2015] 有标号的DAG计数 II

    题目分析 来自2013年王迪的论文<浅谈容斥原理> 设\(f_{n,S}\)表示n个节点,入度为0的点集恰好为S的方案数. 设\(g_{n,S}\)表示n个节点,入度为0的点集至少为S的方 ...

  7. 【[CQOI2015]选数】

    这道题自然是可以反演的 按照反演的套路我们先设出两个函数 \(F(n)\)表示从\([L,H]\)中任选\(N\)个数的最大公约数是\(n\)或者\(n\)的倍数的情况数 \(f(n)\)表示从\([ ...

  8. G、CSL 的训练计划【BFS 贪心】(“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛)

    题目传送门:https://ac.nowcoder.com/acm/contest/551/G 链接:https://ac.nowcoder.com/acm/contest/551/G来源:牛客网 题 ...

  9. Redis入门(一)---安装

    一.Ubuntu安装 1.命令行安装 sudo apt-get install redis-server 2.启动redis服务(安装完成后自动启动) sudo /etc/init.d/redis-s ...

  10. iOS 屏幕录制功能

    系统框架 #import <ReplayKit/ReplayKit.h> // 系统视频录制框架 声明协议 <RPPreviewViewControllerDelegate> ...