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.允许主动退出,退出时,打印已购商品列表 重点方法: 打印列表下标的 ...
随机推荐
- _itemmod_extract_enchant
comment 备注 entry 物品ID CanExtract 1 - 可提取随机FM 0 - 不可提取随机FM,当CanExtract = 1 且有随机FM效果时,随机FM效果会被提取 CanEn ...
- FZU oj 2277 Change 树状数组+dfs序
Problem 2277 Change Time Limit: 2000 mSec Memory Limit : 262144 KB Problem Description There is ...
- Intellij idea 2017 图标含义
File Type Icon Recognized in ActionScript files ActionScript files Ultimate Edition Active Server Pa ...
- git 修改文件夹名字后如何提交
将文件夹名字从 v1.0.1 修改为 v1.0.2 git add --ignore-removal "v1.0.2/xsxsx"
- Panda3D
Panda3D 是个开源的游戏及物理引擎(也支持ODE及Bullet). 相关链接:网站: https://www.panda3d.org/下载: https://www.panda3d.org/do ...
- 测试char,varchar存储
-- -- 表的结构 `user` -- DROP TABLE IF EXISTS `user`; CREATE TABLE IF NOT EXISTS `user` ( `id` int(11) N ...
- Fiddler 手机抓包介绍
直接打开tools -> Options 进行设置 点击OK,在这里代理就设置完成,一定要重启软件配置才生效,下面是手机端的设置. 手机端代理设置以三星S4为例子,1.如下图真机三星S4设置:找 ...
- 基于C# winform实现图片流存储到文件
本文所述实例实现将一张图片上传到指定的文件夹,然后在窗体上的PictrueBox控件中显示出来. 具体功能代码如下: private void btnUpload_Click(object sende ...
- gem "ransack"(4000✨) 简单介绍
Object-based searching:演示. git: https://github.com/activerecord-hackery/ransack Gorails视频和我的博客记录:ht ...
- Rest_framework 和路由配置(一)
简介 Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用. Rest_framework 核心思想: 缩减代码. ...