Ex-menu

TingKi發表於2024-03-26

-- coding:utf-8 --

Author:Tinky

menu = {
'浙江': {
'杭州': {
'餘杭區': {
'倉前街道': {},
'五常街道': {},
'閒林街道': {},
},
'濱江區': {
'長河街道': {},
'浦沿街道': {},
'西興街道': {},
},
'西湖區': {
'北山街道',
'古蕩街道',
'留下街道',
},
},
'寧波': {
'慈溪': {
'庵東鎮': {},
'白沙路街道': {},
'長河鎮': {},
},
'北侖區': {
'梅山街道': {},
'小港街道': {},
'郭巨街道': {},
},
'海曙區': {
'橋洞鎮': {},
'白雲街道': {},
'古林鎮': {},
},
},
'金華市': {
'東陽市': {
'城東街道': {},
'東陽江鎮': {},
'橫店鎮': {},
},
'蘭溪市': {
'黃店鎮': {},
'馬澗鎮': {},
'靈洞鄉': {},
},
'金東區': {
'江東鎮': {},
'傅村鎮': {},
'嶺下鎮': {},
},
},
},
'北京': {
'朝陽': {
'安貞街道': {},
'奧運村街道': {},
'八里莊街道': {},
},
'大興': {
'安定鎮': {},
'子長營鎮': {},
'黃村鎮': {},
},
'東城': {
'安定門街道': {},
'東花市街道': {},
'東華門街道': {},
},
},
'廣東省': {
'廣州市': {
'越秀區': {
'白雲街道': {},
'東大街道': {},
'東山街道': {},
'光塔街道': {},
},
'天河區': {
'長興街道': {},
'黃村街道': {},
'鳳凰街道': {},
'林和街道': {},
},
'花都區': {
'花東鎮': {},
'花山鎮': {},
'獅嶺鎮': {},
'梯面鎮': {},
},
},
'佛山市': {
'禪城區': {
'南莊鎮': {},
'石灣鎮街道': {},
'祖廟街道': {},
},
'高明區': {
'對川茶場': {},
'明城鎮': {},
'楊和鎮': {},
'更合鎮': {},
},
'南海區': {
'大瀝鎮': {},
'九江鎮': {},
'裡水鎮': {},
'獅山鎮': {},
},
'三水區': {
'大塘鎮': {},
'樂平鎮': {},
'南山鎮': {},
'西南街道': {},
},
},
},
}

三級選單可以進入並且可以返回上一級

exit_flag = False

while not exit_flag:
for i in menu:
print(i)
choice1 = input("請選擇進入的1級選單:")
while not exit_flag:
if choice1 in menu:
for i2 in menu[choice1]:
print(i2)
choice2 = input("請選擇2級選單")
while not exit_flag:
if choice2 in menu[choice1]:
for i3 in menu[choice1][choice2]:
print(i3)
choice3 = input("請選擇3級選單")
while not exit_flag:
if choice3 in menu[choice1][choice2]:
for i4 in menu[choice1][choice2][choice3]:
print(i4)
choice4 = input("請選擇4級選單")
if choice4 in menu[choice1][choice2][choice3]:
choice5 = input("這是最後一級選單,按b返回上一級")
if choice5 == 'b':
pass
else:
exit_flag = True
else:
if choice4 == 'b':
break
else:
exit_flag = True
else:
if choice3 == 'b':
break
else:
exit_flag = True

                else:
                    if choice2 == 'b':
                        break
                    else:
                        exit_flag = True
    else:
        if choice1 == 'b':
            break
        else:
            exit_flag = True