Python购物车
product_list = [
['Iphone',5888],
['Mac Air',8000],
['XiaoMi',19.9],
['coffee',30],
['Tesla',820000],
['Bike',700],
['Cloth',200], ]
shop_car={}
salary=int(input("请输入您的工资: "))
while True:
index=0
for i in product_list:
print(index,i)
index+=1
choice=input("请输入商品编号 w保存,q 退出: ")
if choice.isdigit():
choice=int(choice)
if choice > 0 and choice <= len(product_list):
product=product_list[choice]
if salary >= product[1]:
if product[0] in shop_car: #已经购买过的商品, 键值对,键:商品 , 值:【数量 价格】
shop_car[product[0]][1] += 1
else:
shop_car[product[0]] = [product[1] ,1] #购物车里没有的商品 添加一条键值对,键:商品 值:【数量:值:价格】
salary -= product[1] #{'XiaoMi': [19.9, 2], 'coffee': [30, 1]}
else:
print("余额不足")
else:
print("您输入的商品编号不存在")
elif choice == 'w':
print("--------------已经购买的商品列表----------------") #{'XiaoMi': [19.9, 2], 'coffee': [30, 1]}
for k in shop_car:
print( "商品:%5s 单价:%5s 数量:%5s 总价:%5s " %
(k,
shop_car[k][0],
shop_car[k][1],
shop_car[k][0]* shop_car[k][1]) )
print("您的余额 %s" % salary)
print("end-----------")
break
else:
exit("退出程序")
三级菜单
menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'钓鱼岛':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'河北':{},
} while True:#一直打印一级菜单
for key in menu: #打印一级菜单的 key
print(key)
choice=input(">")
if len(choice)==0:continue
if choice == 'b': break
if choice=='q':exit('退出程序')
while True: #一直循环打印二级菜单
lary=menu[choice] #进入二级菜单
for key in lary:
print(key)
choice1=input(">>")
if len(choice)==0:continue
if choice1 == 'b': break
if choice1 == 'q': exit('退出程序')
if choice1 in lary:
while True:
lary2=lary[choice1] #进入三级菜单
for key in lary2:
print(key)
choice2=input(">>>")
if len(choice2)==0: continue
if choice2 == 'b': break
if choice2 == 'q': exit('退出程序')
if choice2 in lary2:
while True:
lary3= lary2[choice2]
for key in lary3:
print(key)
endchoice=input('b 返回上一层,q退出: ')
if endchoice == 'b': break
if endchoice == 'q': exit('退出程序')
三级菜单改进版
menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'钓鱼岛':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
}
last_layers=[menu]
current_layer=menu
while True:
for key in current_layer:
print(key)
choice=input(">")
if len(choice)==0:continue
if choice in current_layer: #列表套字典
current_layer=current_layer[choice]
last_layers=last_layers.append(current_layer) #列表添加进 本层 choice键的 内容
if choice == 'b':
current_layer=last_layers[-1]
last_layers.pop()# l=[]
if current_layer == 'q':
break # me=menu['北京']
# print(me)
# l=l.append(me)
# for k in l:
# print(l)
python if、elif的区别
elif配合if使用如果if中条件不成立执行elif,如果if条件成立,elif不会执行,注意即使上个if条件判断成立,它下面的if条件如果也成立依然会执行;
a='zhanggen' if 'a' in a:
print('ok1') elif 'h' in a:
print('ok2') if 'g' in a:
print('ok3')
a='zhanggen'
if 's' in a:
print('ok1') elif 'h' in a:
print('ok2') elif 'g' in a: #只会执行1个
print('ok3')
Python购物车的更多相关文章
- 简单的python购物车
这几天,一直在学python,跟着视频老师做了一个比较简单的python购物车,感觉不错,分享一下 products = [['Iphone8',6888],['MacPro ...
- python 购物车小程序
python 购物车小程序 功能要求:1.启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. ...
- python购物车小案例
python购物车小案例# 案列描述:有一个小型水果店里面有水果(苹果:¥8/kg,香蕉:¥5/kg,芒果:¥15/kg,葡萄:¥12/kg),客户带了100元钱进店选购水果.# 1.客户输入相应序号 ...
- python 购物车和三级菜单
程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 ...
- 5th,Python购物车模拟
1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4.可随时退出,退 ...
- python 购物车小程序(列表、循环、条件语句)
goods = [ ['iphone6s', 5800], ['mac book', 9000], ['coffee', 32], ['python book', 80], ['bicyle', 15 ...
- python购物车系统
购物车系统模拟:product_list = [ ('java',100), ('python',200), ('键盘',500), ('电脑',4000), ('mac Book',7000),]S ...
- python购物车练习题
# 购物车练习# 1.启动程序后,让用户输入工资,打印商品列表# 2.允许用户根据商品编号购买商品# 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒# 4.可随时退出,退出时,打印已购买 ...
- Python购物车的实现课程
需求: 1.用户输入工资收入 2.打印商品列表 3.用户选择商品,不断的加入购物车 4.检测用户余额,直接捐款,不足提示余额不足 5.允许主动退出,退出时,打印已购商品列表 重点方法: 打印列表下标的 ...
随机推荐
- mapgis IGServer账号
2064803644@qq.com 1576391020@qq.com 密码一样
- 深入理解char * ,char ** ,char a[ ] ,char *a[]
1.数组的本质 数组是多个元素的集合,在内存中分布在地址相连的单元中,所以可以通过其下标访问不同单元的元素. 2.指针 指针也是一种变量,只不过它的内存单元中保存的是一个标识其他位置的地址.由于地址也 ...
- SpringMVC+fastjson项目配置
首先这个项目得是maven项目,不是maven项目的自己引包,我就不多说了. <!-- https://mvnrepository.com/artifact/org.springframewor ...
- 【Python】【数据库】
#[[数据库]]'''MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MySQL是为服务器端设计的数据库,能承受高并发 ...
- Node内核基本自带模块fs 文件的读写
在node的内核中存在一些内置的模块 这些是最基本的服务端所必要的 1:node全局环境:global类似于浏览器端的window 2:文件读取模块:fs fs模块同时提供了异步和同步的方法. 'us ...
- MySQL 并发测试中,线程数和数据库连接池的实验
我一直以来,对性能测试中,连接池的大小要如何配置,不是太清楚: 就我所知道的,就DB自带对连接数的限制,在sqlserver中用select @@connection 可以查到, 在代码中,可以配置D ...
- easyUI tree 自定义图标
文章转载自: https://blog.csdn.net/zhlantian/article/details/52913115 近期由于项目中需要使用easyui tree树形列表,并在系统中动态配置 ...
- QTableWidget自定义表头QHeaderView加全选复选框
1 QTableWidget自定义表头QHeaderView加全选复选框 在使用QTableWidget时需要在表头添加全选复选框,但是默认的表头无法添加复选框,只能用图片画上去一个复 ...
- 配置java环境jdk
最近尝试改公司的项目中的一个后台管理系统,前后台都让我一个做,所以要配置一下java环境: 1. 按装jdk 1.6//2. 安装eclipse3. 安装maven4. 安装eclispe的maven ...
- 细胞迁移 | cell migration
一些基本概念: intracellular biochemical signaling pathways:胞内生化信号通路 extracellular mechanical cues: 胞外机械信号 ...