Python三级菜单大概思路


#!/usr/bin/python
# coding=utf-8

province = {'a': {'aa1': {1: 'a11', 2: 'a12', 3: 'a13', 4: 'a14'},
                  'aa2': {1: 'a21', 2: 'a22', 3: 'a23', 4: 'a24'}},
            'b': {'aa1': {1: 'a11', 2: 'a12', 3: 'a13', 4: 'a14'},
                  'aa2': {1: 'a21', 2: 'a22', 3: 'a23', 4: 'a24'}},
            'c': {'aa1': {1: 'a11', 2: 'a12', 3: 'a13', 4: 'a14'},
                  'aa2': {1: 'a21', 2: 'a22', 3: 'a23', 4: 'a24'}},
            'd': {'aa1': {1: 'a11', 2: 'a12', 3: 'a13', 4: 'a14'},
                  'aa2': {1: 'a21', 2: 'a22', 3: 'a23', 4: 'a24'}},

            'e': {'aa1': {1: 'a11', 2: 'a12', 3: 'a13', 4: 'a14'},
                  'aa2': {1: 'a21', 2: 'a22', 3: 'a23', 4: 'a24'}},
            'f': {'aa1': {1: 'a11', 2: 'a12', 3: 'a13', 4: 'a14'},
                  'aa2': {1: 'a21', 2: 'a22', 3: 'a23', 4: 'a24'}},
            'g': {'aa1': {1: 'a11', 2: 'a12', 3: 'a13', 4: 'a14'},
                  'aa2': {1: 'a21', 2: 'a22', 3: 'a23', 4: 'a24'}},
            'h': {'aa1': {1: 'a11', 2: 'a12', 3: 'a13', 4: 'a14'},
                  'aa2': {1: 'a21', 2: 'a22', 3: 'a23', 4: 'a24'}}

            }

# print "list1: ", province ,'\n'

pkeys = []
citys = []
keys  = ''
isBack = False

pkeys = province.keys()
pkeys.sort()
for i in pkeys:
    print '%s : %s' % (str((int)(pkeys.index(i)) + 1), i)
isBack = False

while True:
    n = raw_input('请输入编号')

    if n == 'q':
        exit()
    elif n in str(range(1,10)):
        n = int(n)
    elif isBack is False:
        print '不能在返回了'
        continue

    if len(pkeys) > 0:

        isBack = True
        if n == 'b':
            print '返回到最外面'
            isBack = False
            continue

        keys = pkeys[n - 1]
        citys = province[pkeys[n - 1]].keys()
        citys.sort()
        for i in citys:
            print '%s : %s' % (str((int)(citys.index(i)) + 1), i)
        del pkeys[0:]

    elif len(citys) > 0:

        isBack = True

        if n == 'b':
            pkeys = province.keys()
            pkeys.sort()
            for i in pkeys:
                print '%s : %s' % (str((int)(pkeys.index(i)) + 1), i)
            del citys[0:]
            continue
        elif n > len(citys):
            print '您输入的号不存在'
            continue

        nn = province[keys][citys[n-1]]

        for i in nn:
            print ('%s : %s' % (i, nn.values()[i - 1]))

        area = raw_input('请输入 area 编号:')
        while True:

            isBack = True
            if area == 'b':
                for i in citys:
                    print '%s : %s' % (str((int)(citys.index(i)) + 1), i)
                break
            elif area == 'q':
                exit()
            else:
                area = int(area)

            if area in nn:
                print ' ***** 您选择了 %s 区 *****' % nn.values()[area - 1]
                area = raw_input('请输入 area 编号(输入[b]返回[q]退出):')
            else:
                area = raw_input('您输入的编号不存在,请重新输入 area 编号(输入[b]返回[q]退出):')
    else:
        break

这些代码没有优化,最初的就下来了.有很多要优化的地方.
变量名更不要想了,真正写项目不能这样写变量名的哦.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值