目标要求:

1、用户输入购物预算

2、打印商品清单,由用户选择,预算够则购买,不够则提示

3、输入q,退出程序

4、购物结束,显示购买的东西和余额

实现:

1、用列表存储商品及价格信息

2、建立空列表存放购买的商品,每次购买成功,就append

3、if判断是否数字、是否是q,是否输入正确的商品编号,while实现循环,直到用户输入q退出

 print("---本程序用于购买预算内商品。---")
print("---用户输入预算,然后选择商品,若预算足够,则买入,加入购物车,否则提示不能买。---" )
print("---按q退出购买程序。---\n") def printproduct(list):
for idx,item in enumerate(list):
print(idx+1,":",item) product=["IPhone 6500","bike 800","Macbook 12000","watch 3000","coffee 31","book 81"]
cart=[] budget=input("请输入您的购物预算或按q退出: ")
while budget!='q':
if str(budget).isdigit():
budget=int(budget)
printproduct(product)
choiceidx = input("请输入您想买的商品序号: ")
while choiceidx!='q':
if choiceidx.isdigit():
choiceidx=int(choiceidx)
if choiceidx in range(1,len(product)+1):
if int(product[choiceidx - 1].split(" ")[1]) < budget:
print("商品【", product[choiceidx - 1].split(" ")[0], "】购买成功")
cart.append(product[choiceidx - 1].split(" ")[0])
budget -= int(product[choiceidx - 1].split(" ")[1])
else:
print("预算不足,不能购买")
else:
print("请输入正确的商品编号")
else:
print("请输入正确的商品编号")
printproduct(product)
choiceidx = input("请输入您想买的商品序号: ")
else:
print("您买了:")
print(cart)
print("您剩余: ",budget)
exit()
else:
print("输入的预算不是数字,请重新输入。")
budget = input("请输入您的购物预算: ")
print("您买了:")
print(cart)
print("您剩余: ",budget)

python--简易购物车实现的更多相关文章

  1. Python简易购物车程序

    2019年5月24日,是我离开北京回学校的日子.我退了组的房子,辞了工作,带着对小秋香不舍回家,这匆匆一别,不知何时才是归期. 这几天都疏于学习,因为每一天我都会和她找点有意思的事情来做,如果这一别就 ...

  2. [源码]Python简易http服务器(内网渗透大文件传输含下载命令)

    Python简易http服务器源码 import SimpleHTTPServerimport SocketServerimport sysPORT = 80if len(sys.argv) != 2 ...

  3. Session机制二(简易购物车案例)

    一:案例一(简易购物车) 1.目录结构 2.step1.jsp <%@ page language="java" contentType="text/html; c ...

  4. Python之购物车

    Python之购物车 msg_list = [ ['iphone',8888], ['coffe',38], ['book',90], ['Tesla',100000], ['RR',10000000 ...

  5. Python 简易web日志查看工具&可改装为命令行工具

    Python 简易web日志查看工具&可改装为命令行工具 效果图 原理 利用python的paramiko库模拟ssh登录操作,并执行tail命令 所需库 flask.paramiko.gev ...

  6. javaweb练手项目jsp+servlet简易购物车系统

    简易购物车项目 这是一个用intellij IDEA做的简易的javaweb项目,开发环境使用的jdk1.8和tomcat8以及mysql数据库. 1.项目开发准备: 创建github仓库 项目框架搭 ...

  7. ~~小练习:python的简易购物车~~

    进击のpython 1,用户先给自己的账户充钱:比如先充3000元. 2,有如下的一个格式: goods = [{"name": "电脑", "pri ...

  8. [ Python -1 ] 简易购物车程序

    练习: 1. 要求用户输入总资产,例如:2000 2. 显示商品列表,让用户根据序号选择商品,加入购物车 3. 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功. goods = [{' ...

  9. Python初探-购物车程序

    要求: 1,用户进入后,有欢迎语并提示用户输入本金 2.用户输入正确的内容后有购物菜单显示给用户 3.当用户的本金不足以购买商品的时候有提示余额不足并告知差额 4.成功购物后提示已购买内容和购买后的余 ...

  10. python简易爬虫来实现自动图片下载

    菜鸟新人刚刚入住博客园,先发个之前写的简易爬虫的实现吧,水平有限请轻喷. 估计利用python实现爬虫的程序网上已经有太多了,不过新人用来练手学习python确实是个不错的选择.本人借鉴网上的部分实现 ...

随机推荐

  1. ABP+AdminLTE+Bootstrap Table权限管理系统第一节--使用ASP.NET Boilerplate模板创建解决方案

    "abp是ASP.NET Boilerplate简称,是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板" abp官方网站: ...

  2. ABAP中Collect的用法

    vaule:collect在非数值字段相同的情况下,起到了数值字段汇总作用. 非数值字段不同的情况下,效果和append相同执行插入内表操作,当非数值字段相同的时候,则相当于modify的效果,只不过 ...

  3. 用分治法解决最近点对问题:python实现

    最近点对问题:给定平面上n个点,找其中的一对点,使得在n个点的所有点对中,该点对的距离最小.需要说明的是理论上最近点对并不止一对,但是无论是寻找全部还是仅寻找其中之一,其原理没有区别,仅需略作改造即可 ...

  4. gzip: File too large错误

    --AIX Gzip File Too Large Error------------------------------------2013/09/29 今天在使用gzip解压一个oracle rm ...

  5. Python2和Python3的一些语法区别

    Python2和Python3的一些语法区别 python 1.print 在版本2的使用方法是: print 'this is version 2 也可以是 print('this is versi ...

  6. node.js版本管理for window ---- nvmw

    1.下载nvmw  https://github.com/amiezhang/nvmw ,解压后放在某盘中 如D:\nvmw 也可以直接放在node.js的node_modules里面(这样操作就可以 ...

  7. css div旋转之后自适应

    css: .rotate90deg { transform: rotate(90deg); -ms-transform: rotate(90deg); /* IE 9 */ -moz-transfor ...

  8. sed 实践案例 (不定期更新)

    删除每行第一个字符 sed -r 's/^.//g' /etc/passwd 删掉每行第二个字符 sed -r 's/^(.)(.)/\1/g' /etc/passwd 删掉每行最后一个字符 sed ...

  9. APUE 1 -- Unix数据结构

    Unix 类操作系统支持不同进程间共享文件.对于所有的I/O,内核使用3种数据结构来表示一个打开的文件. 进程表.每个进程在进程表中有其相应的入口.文件结构中,每个进程表的入口是文件描述符表,每个文件 ...

  10. js字符串 数组处理

                /*字符串处理*/             var a="Hello world!"             console.log(a.indexOf(& ...