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"] ...
随机推荐
- F - GCD - Extreme (II) UVA - 11426
Given the value of N, you will have to find the value of G. The definition of G is given below:
- 豌豆荚Redis集群方案:Codis
Codis简介 Codis是一个分布式Redis解决方案,对于上层的应用来说,连接到CodisProxy和连接原生的RedisServer没有明显的区别(不支持的命令列表),上层应用可以像使用单机的R ...
- 9.2 sun.py
import requests from bs4 import BeautifulSoup url = 'http://wz.sun0769.com/index.php/question/reply? ...
- 17-7-es6作用域
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Apache Pig和Solr问题笔记(一)
记录下最近两天散仙在工作中遇到的有关Pig0.12.0和Solr4.10.2一些问题,总共有3个,如下: (1)问题一: 如何Pig中使用ASCII和十六进制(hexadecimal)的分隔符进行加载 ...
- virtualbox虚拟机下的cdlinux找不到无线网卡的解决方法
virtualbox虚拟机下的cdlinux找不到无线网卡的解决方法 自己解决了,记录一下. cdlinux 带reaver1.4的版本 http://pan.baidu.com/share/link ...
- .NET中DataTable的常用操作
一.目的 在各种.NET开发中,DataTable都是一个非常常见且重要的类型,在与数据打交道的过程中可以说是必不可少的对象. 它功能强大,属性与功能也是相当丰富,用好的话,使我们在处理数据时,减少很 ...
- Jmeter性能测试 入门【转】
Jmeter性能测试 入门[转] Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter ...
- PKUSC2019 D2T2
PKUSC2019 D2T2 把n(n<=100)的树(无边权)放在m维空间上(坐标都是整点),使得任意两个点的曼哈顿距离都是原树上的距离 求最小的m,并给出构造方案 性质好题,巧妙构造题. 原 ...
- Sequelize 中文API文档-1. 快速入门、Sequelize类
1. https://itbilu.com/nodejs/npm/VkYIaRPz-.html#api-init 2. http://docs.sequelizejs.com/manual/tutor ...