#!/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
这些代码没有优化,最初的就下来了.有很多要优化的地方.
变量名更不要想了,真正写项目不能这样写变量名的哦.