python多级菜单_python--多级菜单(多级登录)

1、简单繁多版(未优化之前):

#__author: liangchen Date: 2019/8/15

menu = {

"江西":{

"南昌":{

"南昌西站":{},

"东湖区":{}

},

"吉安":{

"永丰":{},

"吉水":{}

},

},

"上海":{

"嘉定":{

"城区":{},

"嘉定新城":{}

},

"徐汇":{

"复旦大学":{},

"徐家汇站":{}

}

},

"广东":{

"东莞":{

"东莞站":{},

"白石山":{}

},

"惠州":{

"惠州站":{},

"人字冈":{}

}

}

}

flag = True

while True and flag:

for i in menu:

print(i)

select1 = input("请选择地点(退出:q):").strip()

if select1 == 'q':

flag = False

while True and flag: #使程序在第二层循环

if select1 in menu:

for i in menu[select1]:

print(i)

select2 = input("请选择地点(返回上一层:b,退出:q):").strip()

if select2 == 'b':

break

if select2 == 'q':

flag = False

while True and flag: #使程序在第三层循环

if select2 in menu[select1]:

for i in menu[select1][select2]:

print(i)

select3 = input("请选择地点(返回上一层:b,退出:q):").strip()

if select3 in menu[select1][select2]:

print("welcome you come to %s!"%select3)

if select3 == 'b':

break

if select3 == 'q':

flag = False

2、简易优化版

#__author: liangchen Date: 2019/8/15

menu = {

"江西":{

"南昌":{

"南昌西站":{},

"东湖区":{}

},

"吉安":{

"永丰":{},

"吉水":{}

},

},

"上海":{

"嘉定":{

"城区":{},

"嘉定新城":{}

},

"徐汇":{

"复旦大学":{},

"徐家汇站":{}

}

},

"广东":{

"东莞":{

"东莞站":{},

"白石山":{}

},

"惠州":{

"惠州站":{},

"人字冈":{}

}

}

}

current_layer = menu

parent_layers = []      #存放父级菜单

while True:

for key in current_layer:

print(key)

select = input(">>>>").strip()

if select in current_layer:

parent_layers.append(current_layer)  #追加父级菜单

current_layer = current_layer[select]

elif select == "b":

if parent_layers:

current_layer = parent_layers.pop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值