python很low的三級菜單(六)
阿新 • • 發佈:2017-11-10
python
‘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
實驗名稱:三級菜單
實驗要求:
1.可依次選擇進入各子菜單
2.可以在任意一步回退到上一層或直接退出選擇
3.所需知識點:列表、字典
思路:
1.先使用多級嵌套字典創建好三級菜單
2.使用while True:當條件成立時,進入下面for循環,打印當前菜單項。
3.用戶輸入
4.判斷輸入菜單是否存在(輸入q退出,b返回上一層)
5.繼續while循環(直到q退出循環)
流程圖:
所需知識點:列表、字典
列表list:(待整理)
字典dictionary:(待整理)
代碼實現:
#!/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
本文出自 “NJ小生” 博客,請務必保留此出處http://000011211684.blog.51cto.com/9853378/1980529
python很low的三級菜單(六)