效果图:

实现代码:

menu = [0,5000,500,9000,3000,30,50,7000,70,40]name = [0,"iphone","bicycle","Mac book","Meizu S16","coffee","backpack","computer","table","chair"]msg = """Welcome to Mr.Zhu's shop1.iphone    50002.bicycle   5003.Mac book  90004.Meizu S16 30005.coffee    306.backpack  507.computer  70008.table     709.chair     400.exit"""money = int(input("Your Salary:"))gets = 1shop_list = []spend = 0print(msg)while(gets):    gets = int(input("Please input the number of goods:"))    if(gets != 0):

        spend = menu[gets]        if(money > spend):            shop_list.append(name[gets])            money -= spend            print("Successfully put the good in shop list,and you have remain",money)        else:            print("You not have enough money!")    else:        gets = 0        print("Welcome to come Mr.Zhu's shop again\nYou have bought :",shop_list,"\nYour remain money is:",money)

解析:输入你的薪水,然后选择想要购买的物品,购物车自动帮告诉你账户余额并告诉你是否足够购买该商品。很简单的两个列表,一个存价格,一个用于返回购物清单的名字,其中最开始的打印菜单可以通过循环等将两个列表结合起来打印,也可以以例子中固定模板的形式打印,循环打印代码为:
msg = 0for i in range(0,9):    msg = i + 1    if(i == 0):        print("Welcome to Mr.Zhu's shop")    print(i+1,".",name[msg],"      \t",menu[msg])    if(i == 8):        print("0 . exit")有一点,用打印输出容易对不齐价格,因为商品名称可能有些长有些短,如果想避免这个问题:1.更改商品名称,争取几个名字字符相差不超过4个字符(\t的大小)2.增加一个判断最长名称长度的if,然后通过给短的多加\t来实现等长。

转载于:https://www.cnblogs.com/zhurs/p/11530340.html

Python学习之列表--自动超市购物车相关推荐

  1. python ui bs_Guibs的Python学习_列表

    Guibs 的 Python学习_列表# 列表# 列表由一系列按特定顺序排列的元素组成, 其中元素和元素之间可以没有任何关系 # 在 Python 中, 用方括号 [] 来表示列表, 并用逗号 , 分 ...

  2. Python 学习笔记 列表 range() xxx XXX

    Python 学习笔记 列表 range() xxx XXX print("-" * 30) for value in range(1, 5):print(value)number ...

  3. Python 学习笔记 列表 xxx XXX

    Python 学习笔记 列表 xxx XXX bicycles = ['trek', 'cannondale', 'redline', 'specialized'] print(bicycles) p ...

  4. Python 学习笔记 列表 排序 xxx XXX

    Python 学习笔记 列表 排序 xxx XXX print("-" * 30) cars = ['bmw', 'audi', 'toyota', 'subaru'] cars. ...

  5. Python学习笔记 | 列表和字典

    基于Python3版本的学习. 列表 用中括号[ ]把里面的各种数据框起来,里面的每一个数据叫作"元素". 每个元素之间都要用英文逗号隔开. list1=['小明',18,1.70 ...

  6. python学习之列表的定义以及增删改查

    列表定义: >>> name['lily','lucy','tom'] >>> nums = [11,22,33,'100','lily'] #python中的列表 ...

  7. python学习之路—自动生成唯一标识(md5加密方式)

    前言 在python存入数据库时,如果数据库的主键不是自增方式,那么我们可能需要自己生成一个唯一标识符,现在最好的方法就是md5加密生成的32位作为主键,本文将会介绍python的两种自动生成唯一标识 ...

  8. Python学习-操作列表

    Python跟着[美] 埃里克·马瑟斯的Python编程 从入门到实践 第2版学的,当时买回来这本书就在书的扉页写下来日期"2021.6.15",也是在这一天第一次见到了我的导师. ...

  9. 【python学习】列表、元组、字典、集合(详解)

    关注作者,持续阅读作者的文章,学习更多知识! https://blog.csdn.net/weixin_53306029?spm=1001.2014.3001.5343 一.列表 列表(list)是P ...

最新文章

  1. java判断一个类是否公共类
  2. 浅谈 Java 字符串(String, StringBuffer, StringBuilder)
  3. Docker+Tomcat+geoserver+shp发布地图服务
  4. 单片机按键防抖程序_这些单片机按键设计方案,请拿好,不谢!
  5. Spring Cloud应用监控与管理Actuator
  6. docker使用之私有仓库构建(四)
  7. 如何用 200 行 JavaScript 代码实现人脸检测?
  8. python __builtins__ map类 (44)
  9. 设计模式--工厂方法模式
  10. 阅读《构建执法》11-12章
  11. mysql的粒度_MySQL中权限的粒度和时效性
  12. JAVA计算机毕业设计中药分类管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
  13. flink任务监控- 利用Grafana和Prometheus实现实时计算平台任务监控
  14. linux考勤机密码,一种基于Linux操作系统的考勤机的制作方法
  15. java applet介绍,applet java 介绍
  16. 破案了!不会讲笑话不会作诗的chatGPT!
  17. 红米k30至尊纪念版和红米k30i哪个好
  18. MYSQL基础(sql语句)
  19. 五、APP分类和手机选择
  20. GBase 8s基本数据类型

热门文章

  1. js实现数字从1动态递增到10
  2. CCNA专业英文词汇红宝书
  3. 【Linux学习-入门推荐】
  4. web前端开发入门(一)
  5. FTP在电脑和安卓设备间的妙用!
  6. 笨鸟之Serlvet解析
  7. Manjaro Linux 17.0.2 KDE环境安装、配置记录
  8. C#按Excel 规则读取、写入CSV文件,放入DataTable,再读取、写入dataGridView内。包含解析转义字符,首行判断,转换完成信号等。
  9. 面试不是无情物,参数注解知多少?
  10. python源文件后缀_python 文件后缀杂录