Python学习之列表--自动超市购物车
效果图:
实现代码:
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 shop
1.iphone 5000
2.bicycle 500
3.Mac book 9000
4.Meizu S16 3000
5.coffee 30
6.backpack 50
7.computer 7000
8.table 70
9.chair 40
0.exit
"""
money = int(input("Your Salary:"))
gets = 1
shop_list = []
spend = 0
print(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 = 0
for 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来实现等长。
Python学习之列表--自动超市购物车的更多相关文章
- Python学习02 列表 List
Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...
- python学习笔记——列表生成式与生成器
1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行 ...
- Python学习3——列表和元组
一.通用序列操作——索引.切片.相加.相乘.成员资格检查 1.索引,正序从0开始为第一个元素,逆序从-1开始,-1为最后一个元素 >>> greeting[0] 'h' >&g ...
- python学习之列表的定义以及增删改查
列表定义: >>> name['lily','lucy','tom'] >>> nums = [11,22,33,'100','lily'] #python中的列表 ...
- Python学习三|列表、字典、元组、集合的特点以及类的一些定义
此表借鉴于他人 定义 使用方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner', ...
- Python学习06——列表的操作(2)
笨办法学Python第39节 之前用的第三版的书,昨天发现内容不对,八块腹肌又给我下了第四版,这次的内容才对上.本节的代码如下: ten_things = "Apples Oranges C ...
- python学习04——列表的操作
笨办法学python第38节 如何创建列表在第32节,形式如下: 本节主要是讲对列表的操作,首先讲了 mystuff.append('hello') 的工作原理,我的理解是,首先Python找到mys ...
- python学习之列表语法
1.列表 1 list.append(obj)在列表末尾添加新的对象2 list.count(obj)统计某个元素在列表中出现的次数3 list.extend(seq)在列表末尾一次性追加另一个序列中 ...
- python学习笔记——列表操作
python列表操作——增 append:追加一条数据到列表的最后 name = ["Zhangsan","XiongDa","Lisi"] ...
随机推荐
- Object 和Throwable
Object java.lang.Object 所有类的超类 Object里面有的方法所有的类都有 Object方法: String toString() 返回对象的字符串表现形式 类名 + @ + ...
- php 取某一日期的前一天
代码为: $date = “2009-01-01”;$time = strtotime($date) – 3600*24;echo date(‘Y-m-d’,$time); 或者一句:echo dat ...
- 第三方模块requests下载
requests下载 英文网站 http://docs.python-requests.org/en/master/ 中文网站 http://docs.python-requests.org/zh_C ...
- 第五篇:zTree节点的一些操作,权当备份
项目场景:将zTree的一个节点挪到某个已知的根节点下,因为树上的节点都是数据库查询出来的,所以不能直接用addNodes()这个方法(否则一刷新又恢复原样了),而是要把这个节点及其某些属性数据保存到 ...
- 基于Java Properties类设置本地配置文件
一.Java Properties类介绍 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件, ...
- 1、docker centos 安装
Docker for CentOS: 第一步:使用官方yum仓库 [root@linux-node1 ~]# yum install -y yum-utils [root@linux-node1 ~] ...
- 洛谷P3834【模板】可持久化线段树 1(主席树)
题目背景 这是个非常经典的主席树入门题--静态区间第K小 数据已经过加强,请使用主席树.同时请注意常数优化 题目描述 如题,给定N个正整数构成的序列,将对于指定的闭区间查询其区间内的第K小值. 输入输 ...
- uoj37 主旋律
题意:一个班级n个人,如果a爱b,那么a->b一条有向边.问有多少种删边集合使得图仍然强联通? n<=15. 标程: #include<cstdio> #include&l ...
- DbUtils要点小结
一. DbUtils核心API 1. QueryRunner update方法 query方法 2. 各种Handler都实现ResultSetHandler接口 beanhandler beanli ...
- configparser 配置文件模块
#_author:star#date:2019/11/7# configparser 配置文件模块import configparserconfig=configparser.ConfigParser ...