goods = [
['iphone6s', 5800],
['mac book', 9000],
['coffee', 32],
['python book', 80],
['bicyle', 1500],
] shopping_car = []
salary = input("Salary:")
if salary.isdigit():
salary = int(salary)
else:
print("只能输入整数,请重新输入:")
salary = input("Salary:")
# 用n, i两个变量接收数据,默认把第1个赋给n,第2个值赋给i
for n, i in enumerate(goods, 1): # enumerate() 给数出的列表内容前加序号(1表示序号从1开始)
print(n, ">>>", i) # 反复提示购买
while True:
# 提醒用户要购买的商品编号
choice = input("请输入您要购买商品的编号[退出:Q]:") # 判断用户输入的是不是整数
if choice.isdigit():
choice = int(choice)
if (choice > 0) and (choice <= len(goods)): # 判断用户输入的编码是否超出商品的范围
# 计算余额
balance = salary - goods[choice - 1][1] # balance = 余额
if balance < 0:
print('您的余额不足,还剩%s' % salary)
else:
# 如果余额充足,将要购买的商品加入到购物车
print("已加入", goods[choice - 1][0], "到您的购物车,当前余额为:", balance)
salary = balance
shopping_car.append(goods[choice - 1])
else:
print('编码不存在!')
# 用户选择退出,打印购买的商品清单,以及剩余的钱
elif choice == 'Q':
print("--------您购买了以下商品---------")
for i in shopping_car:
print(i)
print("您的余额为:", balance)
exit()
# 如果用户输入的既不是整数又不是Q(退出),则提醒用户重新输入
else:
print("请重新输入:")
choice = input("请输入您要购买商品的编号[退出:Q]:")

python 购物车小程序(列表、循环、条件语句)的更多相关文章

  1. python 购物车小程序

    python 购物车小程序 功能要求:1.启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. ...

  2. 第五篇:python购物车小程序开发demo

    功能:自定义工资水平,可选商品加购余额实时提醒用到的知识点:列表.if多分支.循环.高亮输出未解决bug删除商品后不能自动退出 代码如下: if shopping_list: shopping_lis ...

  3. 小程序列表循环出来的list是不同接口赋的值

    需求:首页有三个列表,样式形式都是一样的,可以循环展示,但是循环的内容list部分是来自于不同的三个接口. data: { indexList:[{ name: "中考体能突击营" ...

  4. [作业] Python入门基础---购物车小程序

    1.购物车小程序: 1.1用户输入工资取60% 1.2打印输出商品菜单 1.3由用户输入数字选择 #__author:Mifen #date: 2018/11/27 # 购物车程序 #把工资作为账户的 ...

  5. Day2:购物车小程序

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

  6. Python基本小程序

    目录 Python基本小程序 一.筛选从1-100所有的奇数 二.筛选从0-100所有的偶数 三.求1-100之间所有的偶数和,奇数和 四.三个数由小到大输出 五.四个数字重复数字的三位数 Pytho ...

  7. 微信小程序-列表渲染多层嵌套循环

    微信小程序-列表渲染多层嵌套循环 入门教程之列表渲染多层嵌套循环,目前官方的文档里,主要是一维数组列表渲染的案例,还是比较简单单一,给刚入门的童鞋还是无从入手的感觉. <view wx:for= ...

  8. 孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式

    孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 在我学习过的所有语言中,对VB系的语言比较喜欢,而对C系和J系 ...

  9. python3 购物车小程序,余额写入文件保存

    python3 购物车小程序,余额写入文件保存 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan goods = ( ...

随机推荐

  1. Hive_Hive的管理_CLI方式

    Hive的启动方式- CLI- Web UI- 远程服务启动方式 (1)hive命令行的交互模式,进入hive: hive; hive --service cli; hive -S;(设置Hive静默 ...

  2. c#学习系列之静态类,静态构造函数,静态成员,静态方法(总之各种静态)

    <1>静态类: 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量.静态类最大的特点就是共享.在声明一个类时使用static关键字,具有 ...

  3. RTOS之CMSIS-RTOS

    CMSIS-RTOS 是实时操作系统的通用 API.它提供了标准化的编程接口,它只是封装了RTX/embos,以后还可能封装freeRTOS,uc/os等等第三方OS,CMSIS RTOS是ARM现在 ...

  4. DTO和ViewModel的区别

    Data Transfer Object 数据传输对象 ViewModel 视图实体(我们在新建MVC项目是会发现Model文件夹下会有一些ViewModel实体) 简单的理解一下两者之间的区别,举个 ...

  5. xml和TreeView

    1.TreeView代码代码: private void Form1_Load(object sender, EventArgs e) {<br> //代码为TreeView添加子项 tr ...

  6. webpack 精华文章

    最近迁移 webpack1 到 webpack3 碰到了一些问题,还是通过一些文章,解决了问题.在这里做一个备份,方便以后使用. 从零搭建vue2+vue-router2+webpack3工程 Web ...

  7. 学习typescript(一)

    环境 必装软件 node,推荐 node 8.0 npm,推荐 npm 5.0 git, 最新版 vscode, 编绎器 必装包 tsc: npm install -g typescript typi ...

  8. python第一模块数据类型

    一·进制之间的转换 十进制转换为二进制:逆序取余法. 二进制转换为十进制:如1101  1*2^0 + 0*2^1 + 1*2^2 +1 十六进制转换为二进制:231     0010  0011   ...

  9. 解决 Cocos2d-x 3.2 error C1041: 无法打开程序数据库vc120.pdb

    单个项目解决方案 解决方案是为项目添加 /FS (Force Synchronous PDB Writes) 编译选项,具体位置在: 一劳永逸的解决方案 直接修改cocos的项目模板templates ...

  10. Android 如何利用Activity的Dialog风格完成弹出框设计

    在我们使用Dialog时,如果需要用到很多自己设计的控件,虽然可以让弹出框显示出我们需要的界面,但却无法找到地方完成控制代码的编写,如何解决这个问题呢,我们可以将Activity伪装成Dialog弹出 ...