码迷,mamicode.com
首页 > 其他好文 > 详细

购物车和用户交互,显示省市县三级联动的选择

时间:2017-06-11 13:43:34      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:取出   alt   序号   交互   提示   实现   closed   style   pen   

购物车

技术分享
购物车

功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车


asset_all = 0
m1 = input(‘请输入金额:‘)
mon_all = int(m1)
goods = [
     {"name": "电脑", "price": 1999},
     {"name": "鼠标", "price": 10},
     {"name": "游艇", "price": 20},
     {"name": "美女", "price": 998},
 ]
for i in goods:    #循环所有商品名称
     print(i[‘name‘])

car_dict = {}
while True:
    m2 = input(‘请选择商品(Y/y结算):‘)
    if m2.lower() ==‘y‘:
        print(‘商品结算:‘)
        break
    for j in goods:
        if j[‘name‘] == m2:
            name = j[‘name‘]
            if name in car_dict.keys():  #商品存在,数量+1
                car_dict[name][‘num‘] = car_dict[name][‘num‘]+1
            else:   #商品不存在,添加商品
                car_dict[name] = {‘num‘: 1, ‘single_price‘: j[‘price‘]}

all_price = 0
for k,v in car_dict.items():  #循环选中的商品,并计算价格
    n = v[‘num‘]
    m = v[‘single_price‘]
    all_sum = n*m
    all_price = all_price + all_sum
    print(k,‘总价:‘,n*m,‘数量:‘,n)
print(‘总和:‘,all_price)
if all_price > mon_all:
    print (‘亲,您钱不够了!‘)
else:
    print (‘可以支付.‘)
购物车

用户交互,显示省市县三级联动的选择

技术分享
menu={
    "河北省":{
        "石家庄市":[‘长安区‘,‘桥西区‘,‘新华区‘],
        "唐山市":[‘路北区‘,‘路南区‘,‘古冶区‘],
        "保定市":[‘竞秀区‘,‘莲池区‘,‘满城区‘]
        },
    "吉林省":{
        "长春市":[‘南关区‘,‘朝阳区‘,‘绿园区‘],
        "吉林市":[‘船营区‘,‘龙潭区‘,‘昌邑区‘],
        "松原市":[‘宁江区‘,‘乾安县‘,‘长岭县‘]
        },
    "黑龙江省":{
        "哈尔滨市":[‘道里区‘,‘南岗区‘,‘道外区‘],
        "佳木斯市":[‘向阳区‘,‘前进区‘,‘东风区‘],
        "牡丹江市":[‘东安区‘,‘阳明区‘,‘爱民区‘]
        }
}
current_layer = menu #实现动态循环
parent_layers = [] #保存所有父级,最后一个元素永远都是父级
while True:
    for key in current_layer:
        print(key)
    choice = input(">>>:").strip()
    if len(choice) == 0:continue
    if choice in current_layer:
        parent_layers.append(current_layer) #在进入下一层之前,把当前层(即下一层的父级)
        #下一次循环,当用户选择b的时候,就可以直接取列表的最后一个值出来就ok了
        current_layer = current_layer[choice] #改成了子层
    elif choice == "b":
        if parent_layers: # []
            current_layer = parent_layers.pop() #取出列表的最后一个值,因为它就是当前层的父级
    else:
        print("输入错误,请重新输入:")
用户交互,显示省市县三级联动的选择

 

购物车和用户交互,显示省市县三级联动的选择

标签:取出   alt   序号   交互   提示   实现   closed   style   pen   

原文地址:http://www.cnblogs.com/Jiayongxu/p/6984904.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!