PYTHON作业----编写多级菜单
生活随笔
收集整理的這篇文章主要介紹了
PYTHON作业----编写多级菜单
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# -*- coding: utf-8 -*-
#-*- 2017/07/13 -*-
#-*- Create by ChaiMeng
#多級菜單
import sys
multi_city = {'安徽省':{'合肥市':{'蜀山區':'安徽農業大學'}},'湖北省':{'武漢市':{'東湖區':'武漢大學'}},'河南省':{'開封市':{"龍亭區:河南大學"}}} #添加多級字典(字典的嵌套),以省、市、區、學校為例
print("按q返回上一層") #打印提示信息
print("按e退出") #打印提示信息
# print(multi_city['安徽省']['合肥市'])
# for i in multi_city['安徽省']['合肥市']:
# print (i) #以上三行為調試信息,主要確認多級字典(字典的嵌套)的輸出
ec = 'q' #預定義變量
ex = 'e' #預定義變量
first_class_flag = True #定義一級菜單的標志位,后續可以通過該標記為退出多級循環,本例為在一級循環中體現,在二級、三級循環中體現了
while first_class_flag: #定義一級循環
for first_class in multi_city.keys(): #打印多級字典中省級目錄
print(first_class)
first_class_input = input("請輸入省份1>>>: ") #提示用戶輸入省份
if first_class_input in multi_city.keys(): #判斷用戶輸入的省份是否在改字典的key中
for first_class_province in multi_city[first_class_input].keys(): #如果用戶輸入的數據在字典的省份中,則打印市區名稱
print (first_class_province)
second_class_flag = True #定義二級菜單的標志位,后續可以通過改變標志位的布爾值,來退出二級循環
while second_class_flag: #進入二級循環
second_class_input = input("請輸入市名2>>>: ") #提示輸入市名稱
if second_class_input in multi_city[first_class_input].keys(): #判斷用戶輸入的市名是否在改字典的key中
for second_class_city in multi_city[first_class_input][second_class_input].keys(): #如果用戶輸入的數據在字典的市名中,則打印區名稱
print(second_class_city)
third_class_flag = True #定義三級菜單的標志位,后續可以通過改變標志位的布爾值,來退出三級循環
while third_class_flag: #進入三級循環
third_class_input = input("請輸入區名3>>>: ") #提示用戶輸入區名
if third_class_input in multi_city[first_class_input][second_class_input].keys(): #判斷用戶輸入的區名是否在改字典的key中
third_class_zone = multi_city[first_class_input][second_class_input][third_class_input] #如果用戶輸入的數據在字典的區名中,則打印學校名稱
print(third_class_zone)
elif third_class_input == ec: #如果用戶輸入的是q,返回到二級菜單
print('正在返回上一級菜單...... ')
third_class_flag = False #通過改變三級菜單的標志位,來退出三級循環
elif third_class_input == ex: #如果用戶輸入的是e,就退出整個程序
sys.exit('退出中……ing')
else: #其他情況提示輸入錯誤,請重新輸入
print("輸入錯誤,請重新輸入: ")
elif second_class_input == ec: #如果用戶輸入的是q,返回到一級菜單
print('正在返回上一級菜單...... ')
second_class_flag = False #通過改變三級菜單的標志位,來退出二級循環
elif second_class_input == ex: #如果用戶輸入的是e,就退出整個程序
sys.exit('退出中……ing')
else: #其他情況提示輸入錯誤,請重新輸入
print("輸入錯誤,請重新輸入: ")
elif first_class_input == ec: #因為本級菜單是頂級菜單,如果用戶輸入的是q,可以使用continue,持續在一級循環(頂層菜單)
print('已經最頂級菜單,完全退出請輸入 e ')
continue
elif first_class_input == ex: #如果用戶輸入的是e,就退出整個程序
sys.exit('退出中……ing')
else: #其他情況提示輸入錯誤,請重新輸入
print("輸入錯誤,請重新輸入: ")
有問題需要探討的可以加QQ:646783224
#-*- 2017/07/13 -*-
#-*- Create by ChaiMeng
#多級菜單
import sys
multi_city = {'安徽省':{'合肥市':{'蜀山區':'安徽農業大學'}},'湖北省':{'武漢市':{'東湖區':'武漢大學'}},'河南省':{'開封市':{"龍亭區:河南大學"}}} #添加多級字典(字典的嵌套),以省、市、區、學校為例
print("按q返回上一層") #打印提示信息
print("按e退出") #打印提示信息
# print(multi_city['安徽省']['合肥市'])
# for i in multi_city['安徽省']['合肥市']:
# print (i) #以上三行為調試信息,主要確認多級字典(字典的嵌套)的輸出
ec = 'q' #預定義變量
ex = 'e' #預定義變量
first_class_flag = True #定義一級菜單的標志位,后續可以通過該標記為退出多級循環,本例為在一級循環中體現,在二級、三級循環中體現了
while first_class_flag: #定義一級循環
for first_class in multi_city.keys(): #打印多級字典中省級目錄
print(first_class)
first_class_input = input("請輸入省份1>>>: ") #提示用戶輸入省份
if first_class_input in multi_city.keys(): #判斷用戶輸入的省份是否在改字典的key中
for first_class_province in multi_city[first_class_input].keys(): #如果用戶輸入的數據在字典的省份中,則打印市區名稱
print (first_class_province)
second_class_flag = True #定義二級菜單的標志位,后續可以通過改變標志位的布爾值,來退出二級循環
while second_class_flag: #進入二級循環
second_class_input = input("請輸入市名2>>>: ") #提示輸入市名稱
if second_class_input in multi_city[first_class_input].keys(): #判斷用戶輸入的市名是否在改字典的key中
for second_class_city in multi_city[first_class_input][second_class_input].keys(): #如果用戶輸入的數據在字典的市名中,則打印區名稱
print(second_class_city)
third_class_flag = True #定義三級菜單的標志位,后續可以通過改變標志位的布爾值,來退出三級循環
while third_class_flag: #進入三級循環
third_class_input = input("請輸入區名3>>>: ") #提示用戶輸入區名
if third_class_input in multi_city[first_class_input][second_class_input].keys(): #判斷用戶輸入的區名是否在改字典的key中
third_class_zone = multi_city[first_class_input][second_class_input][third_class_input] #如果用戶輸入的數據在字典的區名中,則打印學校名稱
print(third_class_zone)
elif third_class_input == ec: #如果用戶輸入的是q,返回到二級菜單
print('正在返回上一級菜單...... ')
third_class_flag = False #通過改變三級菜單的標志位,來退出三級循環
elif third_class_input == ex: #如果用戶輸入的是e,就退出整個程序
sys.exit('退出中……ing')
else: #其他情況提示輸入錯誤,請重新輸入
print("輸入錯誤,請重新輸入: ")
elif second_class_input == ec: #如果用戶輸入的是q,返回到一級菜單
print('正在返回上一級菜單...... ')
second_class_flag = False #通過改變三級菜單的標志位,來退出二級循環
elif second_class_input == ex: #如果用戶輸入的是e,就退出整個程序
sys.exit('退出中……ing')
else: #其他情況提示輸入錯誤,請重新輸入
print("輸入錯誤,請重新輸入: ")
elif first_class_input == ec: #因為本級菜單是頂級菜單,如果用戶輸入的是q,可以使用continue,持續在一級循環(頂層菜單)
print('已經最頂級菜單,完全退出請輸入 e ')
continue
elif first_class_input == ex: #如果用戶輸入的是e,就退出整個程序
sys.exit('退出中……ing')
else: #其他情況提示輸入錯誤,請重新輸入
print("輸入錯誤,請重新輸入: ")
有問題需要探討的可以加QQ:646783224
轉載于:https://www.cnblogs.com/xiaohuo2011/p/7201049.html
總結
以上是生活随笔為你收集整理的PYTHON作业----编写多级菜单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Unity3D与23种设计模式】中介者
- 下一篇: hdu 2795(单点改动)