目标要求:

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. 白帽子之路首章:Footprinting, TARGET ACQUISITION

    *Disclaimer: All materials provided on this blog are for educational purposes only. The author and o ...

  2. Luogu P2802 回家

    题目描述 小H在一个划分成了n*m个方格的长方形封锁线上. 每次他能向上下左右四个方向移动一格(当然小H不可以静止不动), 但不能离开封锁线,否则就被打死了. 刚开始时他有满血6点,每移动一格他要消耗 ...

  3. [算法题] 3Sum Closest

    题目内容 Given an array S of n integers, find three integers in S such that the sum is closest to a give ...

  4. 【NO.5】jmeter-结果文件

    Jmeter的结果文件可以保存很多内容,你需要看哪个就勾选哪个,很简单是吧. 结果文件可以保存为2种形式:XML或者CSV.我印象里在书上提到过,如果保存为XML形式的结果文件,后续可以转化为表格便于 ...

  5. mysql内连接的复杂应用

    查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_noy以及其对应的薪水涨幅growth,并按照growth进行升序CREATE TABLE `employees` (`emp_no` int ...

  6. 多态性(C#)

    在面向对象编程中继承性和多态性是重要机制,前面我为大家分享了我对“类的继承”的理解,哪么今天我就跟大家分享下我对“多态性(C#)”的理解. 首先我们先来看看多态的定义,同一操作作用于不同的对象,可以有 ...

  7. NSThread创建线程的三种方法

    - (IBAction)NSThreadBtnClick:(id)sender { [self threadObjectMethod]; [self threadClassMethod]; [self ...

  8. RDVECore来自锐动的无UI,高度抽象化API的视频编辑SDK

    1 编写目的 预期读者: 有视频编辑开发经验或者无经验的,打算或者正在使用"锐动IOS版RDVECore"的相关工程师. iOS软件工程师. 产品经理. QA 2 名词解释 分辨率 ...

  9. Go的变量作用域

    Go 语言变量作用域 作用域为已声明标识符所表示的常量.类型.变量.函数或包在源代码中的作用范围. Go 语言中变量可以在三个地方声明: 函数内部定义的变量称为局部变量 函数外部定义的变量称为全局变量 ...

  10. 如何修改ionic Popup的样式

    第一次用ionic的Popup时感觉很好用,但是太丑了.但是又不会修改自定义的样式,只能自己写了个模态框.后来仔细搜索了一下.发现还是可以修改的. var confirmPopup = $ionicP ...