python练习二
- 可选进入三级菜单
- 一级级进入菜单 可随时退出 返回上级菜单
- 练习字典的使用
# Author:Roach
# -*- coding: utf-8 -*-
region = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {},
},
'上地': {
'百度': {},
},
},
'昌平': {
'沙河': {
'老男孩': {},
'北航': {},
},
'天通苑': {},
'回龙观': {},
},
'朝阳': {},
'东城': {},
},
'上海': {
'闵行': {
"人民广场": {
'炸鸡店': {}
}
},
'闸北': {
'火车战': {
'携程': {}
}
},
'浦东': {},
},
'山东': {},
}
# print(region["北京"]["昌平"]["沙河"])
# print(region)
exit_false = False # 定义循环状态开关,在需要关闭时关闭开关
while not exit_false: # 满足条件是执行循环
for i in region: # 读取第一层目录
print(i) # 打印第一层目录
input_1 = input("-----输入q退出菜单!-----\n请选择省份:") # 输入需要进入的目录
if input_1 in region: # 判断输入的内容是否存在于第一层目录中
while not exit_false: # 判断当前状态是否执行
for i1 in region[input_1]: # 读取第二层目录
print("\t",i1) # 打印第二层目录
input_2 = input("输入b返回上一级菜单,输入q退出菜单!\n请选择市:") # 输入需要进入的第二层目录
if input_2 in region[input_1]: # 判断输入的内容是不是存在于第二层目录中
while not exit_false: # 判断当前状态是否执行
for i2 in region[input_1][input_2]: # 读取第三层目录
print("\t\t",i2) # 输出第三层目录
input_3 = input("输入b返回上一级菜单,输入q退出菜单!\n请选择区:") # 输入需要进入的第三层目录
if input_3 in region[input_1][input_2]: # 判断输入内容是不是存在于第三层目录中
while not exit_false: # 判断当前状态
for i3 in region[input_1][input_2][input_3]: # 读取第四层目录
print("\t\t\t",i3) # 输出第四层目录
input_4 = input("输入b返回上一级菜单,输入q退出菜单!") # 输入返回上一级或者退出
if input_4 == "b": # 判断如果输入是"b",停止当前while循环,返回上一层循环,即返回上一层目录
break
elif input_4 == "q": # 判断如果输入的是"q",即退出程序,将exit_false状态改为True,所有while将停止
exit_false = True
if input_3 == "b": # 判断如果输入是"b",停止当前while循环,返回上一层循环,即返回上一层目录
break
elif input_3 == "q": # 判断如果输入的是"q",即退出程序,将exit_false状态改为True,所有while将停止
exit_false = True
if input_2 == "b": # 判断如果输入是"b",停止当前while循环,返回上一层循环,即返回上一层目录
break
elif input_2 == "q": # 判断如果输入的是"q",即退出程序,将exit_false状态改为True,所有while将停止
exit_false = True
if input_1 == "b": # 如果在第一层输入"b",即提示已经在第一层
print("已经在第一层!!!")
elif input_1 == "q": # 判断如果输入的是"q",即退出程序,将exit_false状态改为True,所有while将停止
exit_false = True