實驗名稱:三級菜單
實驗要求:
1.可依次選擇進入各子菜單
2.可以在任意一步回退到上一層或直接退出選擇
3.所需知識點:清單、字典
思路:
1.先使用多級嵌套字典建立好三級菜單
2.使用while True:當條件成立時,進入下面for循環,列印目前菜單項。
3.使用者輸入
4.判斷輸入菜單是否存在(輸入q退出,b傳回上一層)
5.繼續while循環(直到q退出循環)
流程圖:
所需知識點:清單、字典
代碼實作:
#!/usr/bin/env python
#Author:Li QW
#多級嵌套字典
region_data={
'china':{
'beijing':{
'昭陽區':['中手遊','萬家娛樂'],
'五環内':['長城','故宮']
},
'nanjing':{
'建邺區':['奧體中心','南京眼'],
'鼓樓區':['南京師範','南藝']
'shenzhen':{
'龍華新區':['百貨','腸粉'],
'福田區':['中康路','南京路']
},
},
'USA':{
'舊金山':{
'1':['11','111'],
'2':['22','222']
'矽谷':{
'紐約':{
}
}
exit_flag = False
while not exit_flag: #預設不退出
for i in region_data: #列印第一層
print(i)
choice = input('進入>>>') #輸入
if choice in region_data: #判斷在不在
while not exit_flag: #列印第二層
for i2 in region_data[choice]: #進入下一層
print('\t',i2)
choice2 = input('進入>>>')
if choice2 in region_data[choice]:
while not exit_flag: #列印第三層
for i3 in region_data[choice][choice2]: #進入下一層
print('\t\t', i3)
choice3 = input('進入>>>')
if choice3 in region_data[choice][choice2]:
for i4 in region_data[choice][choice2][choice3]:
print('\t\t\t', i4)
choice4 = input('最後一層,按b傳回>>>')
if choice4 == 'b':
pass # 占位符,不寫就報錯了。
elif choice4 == 'q': #輸入q就條件不成立就退出目前循環
exit_flag = True
if choice3 == 'b':
break
elif choice3 == 'q':
exit_flag = True
if choice2 == 'b':
break
elif choice2 == 'q':
exit_flag = True
<a href="http://down.51cto.com/data/2368734" target="_blank">附件:http://down.51cto.com/data/2368734</a>
本文轉自白羊IT51CTO部落格,原文連結:http://blog.51cto.com/000011211684/1980529,如需轉載請自行聯系原作者