码迷,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
迷上了代码!