目标要求:

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. Springboot+redis 整合

    运行环境: JDK1.7. SpringBoot1.4.7 redis3.0.4 1.生成Springboot项目,分别添加web,redis依赖,具体的maven依赖如下 <dependenc ...

  2. 发布内网网站服务器让公网可以访问,无需NAT

    有些时候,我们的测试网站搭建在我们的测试环境中,网站正式上线前,需要先测试下我们的测试网站是否正常,就可以用下面的方式将其内网网站服务器放至公网上,用器提供的外网地址就可以直接访问我们的内网网站服务器 ...

  3. Python查询SQLserver数据库备份(抛砖引玉)

    通过python pymssql直接访问SQLserver数据库,查找其数据库mode,这个脚本具有很强的抛砖引玉特性: 1.可以巡检多台多数据库服务器 2.query内容可以多样化,譬如查询死锁.连 ...

  4. 28.Implement strStr()【leetcod】

    Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...

  5. [SDOI2011]染色 线段树+树链剖分

    考试一共四个半小时,光这道题就打了三个小时..然后又改了俩小时才过.我太蒟蒻了. 其实数据结构这种题就看第一遍打没打顺,顺了就A了,要是再找错再改就慢了,而且样例过了不能说明任何问题(虽然考试的时候我 ...

  6. DB2 HADR备库归档问题

    --DB2 HADR备库归档问题 --------------------------------2013/10/29 我们注意到在Oracle DataGuard中,备机中依然会设置LOG_ARCH ...

  7. QLineEdit IP地址校验

    QLineEdit IP地址校验 原文出处:[上善若静水] 1.通过自定义类方式实现IP4地址范围限制输入: //--------------------TLineEditIP.h---------- ...

  8. 腾讯SNG电面

    第一次电面. 前半段基本闲聊,问题也记得不太清楚了. 自我介绍. 为什么想去上海工作?除了职业方面有其他原因吗?我猜出来面试官想问私人问题了,你真的可以直接问的,拐弯抹角了好久...有什么爱好.特长. ...

  9. 第8天:CSS制作导航栏

    今天主要学习了网页导航栏的制作.注意:引入外部CSS样式时,如果使用background:url(../images/1.png),一定记得用..跳出当前文件夹,回到上级目录. 一.导航栏实现步骤: ...

  10. 常用px,pt,em换算及区别

    pt (point,磅):是一个物理长度单位,指的是72分之一英寸. px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(D ...