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