python全栈自学03——购物城程序&三级菜单简单版本

1. 购物车程序 

#购物车:用户输入已有金额,返回商品列表;选择购买商品,余额足够则购买成功,返回可用余额,继续购物,
# 否则提示余额不足,重新选择商品;购物结束后返回已购商品和余额

money = int(input("你有多少钱?"))
merchandise_list = {"BB虫草粉底液":620,"搪瓷隔离":240,"小棕瓶精华液":480,"流金水":320,"自律循环乳":400}
a = "商品列表"
b = "已加入购物车"
c = "购物车"
buy = []

while True:
    choose = input("你想干嘛?1:购物 2:查看购物车 3:退出")
    if choose == "1":
        print(a.center(50,'-'))
        for i in merchandise_list:
            print(i,merchandise_list[i])
        want = input("你想买啥?")
        if merchandise_list[want] <= money:
            print(b.center(50,'-'))
            buy.append(want)
            info = "当前余额: {_yue}".format(_yue = money - merchandise_list[want])     #python3中不支持%占位符
            print(info)
            money -= merchandise_list[want]
        else:
            print("余额不足!")
    elif choose == "2":
        print(c.center(50,'-'))
        for i in buy:
            print(i)
    else:
        break

Tips:python3中没有不支持%占位符...是字符串和%变量名之间没有逗号!

2. 三级菜单1.0

#三级菜单,省市县,可返回上一级,可随时退出程序

a = {
    "陕西省":{
        "西安市":["未央区","灞桥区","长安区","雁塔区"],
        "渭南市":["华县","潼关","大荔","白水"],
        "宝鸡市":["岐山","凤翔","扶风","眉县"]
    },
     "四川省":{
         "成都市":["锦江区","青羊区","金牛区","武侯区"],
         "自贡市":["自流井区","贡井区","大安区","沿滩区"],
         "泸州市":["江阳区","纳溪区","泸县","合江"]
     },
     "河南省":{
         "洛阳市":["老城区","西工区","吉利区","郊区"],
         "开封市":["龙亭区","鼓楼区","南关区","兰考县"],
         "郑州市":["中原区","二七区","金水区","上街区"]
     },
     "青海省":{
         "西宁市":["城东区","城西区","城北区","城中区"],
         "海东":["平安","乐都","湟中","湟源"],
         "玉树":["玉树","杂多","称多","治多"]
     },
     "辽宁省":{
         "沈阳市":["和平区","沈河区","大东区","皇姑区"],
         "大连市":["中山区","西岗区","瓦房店","旅顺口"],
         "铁岭市":["银州区","清河区","西丰","开原"]
     }
}
info1 = "省级菜单如下"
info2 = "市级菜单如下"
info3 = "县级菜单如下"

while True:
    choose = input("请输入目录:1省2市3县,其他键退出")
    if choose == "1":
        print(info1.center(50, '-'))
        for i in a:
            print(i)
        quest = input("是否进入下级菜单?1是,其他键否")
        if quest == "1":
            print(info2.center(50, '-'))
            for i in a:
                for j in a[i]:
                    print(j)
        else:
            continue
    elif choose == "2":
        print(info2.center(50, '-'))
        for i in a:
            for j in a[i]:
                print(j)
        quest = input("返回上级菜单或进入下级菜单?1返回上级,2进入下级,其他键退出")
        if quest == "1":
            print(info1.center(50, '-'))
            for i in a:
                print(i)
        elif quest == "2":
            pass
        else:
            continue
    elif choose == "3":
        print(info3.center(50, '-'))
        for i in a:
            for j in a[i]:
                print(a[i][j])
        quest = input("是否返回上级菜单?1是,其他键否")
        if quest == "1":
            print(info2.center(50, '-'))
            for i in a:
                for j in a[i]:
                    print(j)
        else:
            continue
    else:
        break

3. 三级菜单2.0

a = {
    "陕西省":{
        "西安市":["未央区","灞桥区","长安区","雁塔区"],
        "渭南市":["华县","潼关","大荔","白水"],
        "宝鸡市":["岐山","凤翔","扶风","眉县"]
    },
     "四川省":{
         "成都市":["锦江区","青羊区","金牛区","武侯区"],
         "自贡市":["自流井区","贡井区","大安区","沿滩区"],
         "泸州市":["江阳区","纳溪区","泸县","合江"]
     },
     "河南省":{
         "洛阳市":["老城区","西工区","吉利区","郊区"],
         "开封市":["龙亭区","鼓楼区","南关区","兰考县"],
         "郑州市":["中原区","二七区","金水区","上街区"]
     },
     "青海省":{
         "西宁市":["城东区","城西区","城北区","城中区"],
         "海东":["平安","乐都","湟中","湟源"],
         "玉树":["玉树","杂多","称多","治多"]
     },
     "辽宁省":{
         "沈阳市":["和平区","沈河区","大东区","皇姑区"],
         "大连市":["中山区","西岗区","瓦房店","旅顺口"],
         "铁岭市":["银州区","清河区","西丰","开原"]
     }
}

back_flag = False
quit_flag = False
while not quit_flag or back_flag:
    #进入第一级
    for i in a:
        print(i)
    choice = input("退出菜单(q) or 输入省份进入下一级:")
    if choice == "q":
        quit_flag = True
        break
    elif choice in a:
        #进入第二级
        while not quit_flag or back_flag:
            for j in a[choice]:
                print(j)
            choice2 = input("请选择返回上级(b)or 退出菜单(q) or 输入城市进入下级:")
            if choice2 == "b":
                back_flag = True
                break
            elif choice2 == "q":
                quit_flag = True
                continue
            elif choice2 in a[choice]:
                #进入第三级
                while not quit_flag or back_flag:
                    for k in a[choice][choice2]:
                        print(k)
                    choice3 = input("已到达最后一级,请选择返回上级(b)or 退出菜单(q)")
                    if choice3 == "b":
                        back_flag = True
                        break
                    elif choice3 == "q":
                        quit_flag = True
                        continue
                    else:
                        print("输入错误!")
            else:
                print("输入错误!")
    else:
        print("输入错误!")

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值