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.允许主动退出,退出时,打印已购商品列表 重点方法: 打印列表下标的 ...
随机推荐
- RN酷炫组件圆形加载
地址:https://js.coach/react-native/react-native-circular-progress?search=react-native 别谢我 点个赞就行 ## Use ...
- 【BZOJ】3143: [Hnoi2013]游走
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3143 显然如果一条边期望被走过的次数越多,我们就应该给它的编号越小. 所以问题变为如何求每 ...
- nginx 启动报错 1113: No mapping for the Unicode character exists in the target multi-byte code
failed (1113: No mapping for the Unicode character exists in the target multi-byte code page) 因为路径有中 ...
- PostCSS以及cssnext语法
什么是postcss postcss 一种对css编译的工具,类似babel对js的处理,常见的功能如: 1 . 使用下一代css语法 2 . 自动补全浏览器前缀 3 . 自动把px代为转换成 rem ...
- 基于Arcface 免费离线人脸识别 2.0 Demo C#
本来打算做个C#版demo,但没用成功.使用虹软最新人脸识别技术开发完成 过程如下: 1. 传入一张单人脸照片: 2.调用检测人脸函数ASFDetectFaces,成功返回人脸信息的指针: 3.使用 ...
- QT新建工程编译出现"Moc'ing xxx.h..." 找不到文件或者error MSB6006: "cmd.exe" exited with code 3.
产生这个问题的原因是QT的头文件路径包含出错: (1)如果没有添加如图所示的路径,则添加后重新编译: (2)如果已经添加了,则删除后,重新添加,在重新编译: (3)或者在QT Project Sett ...
- html5实现获取地理位置信息并定位
这里主要讲h5实现获取地理位置信息并定位功能,本文讲解了原生h5,百度地图,谷歌地图等三种获取地理信息并定位的方法,需要的朋友可以参考下: h5提供了地理位置功能(Geolocation API),能 ...
- sql server 我常用的语句
1. computed column ) persisted; 2. unique nullable create unique nonclustered index[UniqueName] on [ ...
- Python 编程快速上手 第十一章 Web scrapping
前言 这一章讲了如何在 Web 上抓取相关的信息,工具是三个模块: webbrowser 模块:用于打开浏览器指定页面 requests 模块:用于下载文件 Beautiful Soup 模块:用于解 ...
- Redis五种数据结构简介-2
https://www.cnblogs.com/ysocean/p/9102811.html