python 第一週作業:三級菜單
測試環境win7,python3.6,pycharm社區版
作業需求:
1. 運行程序輸出第一級菜單
2. 選擇一級菜單某項,輸出二級菜單,同理輸出三級菜單
3. 菜單數據保存在文件中
4. 讓用戶選擇是否要退出
5. 有返回上一級菜單的功能
什麼也別說了,第一次參加老男孩的Python教學視頻,第一次作業,簡直就是蒙圈。直接上代碼,不要死的太難看。
先來個自己寫的代碼,重複代碼太多:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# jzy
menu ={
"昌平區": {"天通苑":
{"家樂福": {}, "物美": {}, "華聯": {}},
"小湯山":
{"龍脈溫泉": {}, "健身房": {}}},
"順義區": {"後沙峪":
{"現代汽車": {}, "匯源果汁": {}, "牛欄山二鍋頭": {}},
"天竺":
{"飛機場": {}, "燕京啤酒": {}}},
"海淀區": {"雍和宮":
{'航星科技園': {}, '天壇廟會': {}, '肯德基': {}},
"廂紅旗":
{'香山': {}, '林業科學研究院': {}, '軍事科學研究院': {}}}
}
while True:
for i in menu:
print(i)
num1 = input("請選擇:")
if num1 in menu.keys():
while True:
for i in menu[num1]:
print(i)
num2 = input("請選擇第二層:")
if num2 in menu[num1]:
while True:
for i in menu[num1][num2]:
print(i)
num3 = input("請選擇第三層:")
if num3 in menu[num1][num2]:
print("this is you choice")
exit()
elif num3 == 'b':
break
elif num3 == 'q':
exit()
else:
continue
elif num2 == 'b':
break
elif num2 == 'q':
exit()
else:
continue
elif num1 == 'q':
exit()
else:
continue
看了老師的講解視頻,照着操作一遍:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# jzy
menu ={
"昌平區": {"天通苑":
{"家樂福": {}, "物美": {}, "華聯": {}},
"小湯山":
{"龍脈溫泉": {}, "健身房": {}}},
"順義區": {"後沙峪":
{"現代汽車": {}, "匯源果汁": {}, "牛欄山二鍋頭": {}},
"天竺":
{"飛機場": {}, "燕京啤酒": {}}},
"海淀區": {"雍和宮":
{'航星科技園': {}, '天壇廟會': {}, '肯德基': {}},
"廂紅旗":
{'香山': {}, '林業科學研究院': {}, '軍事科學研究院': {}}}
}
level = []
while True:
for i in menu:
print(i)
num = input("請選擇:")
if num == 'b':
if len(level) == 0:break
menu=level[-1]
level.pop()
if len(num) == 0 or num not in menu: continue
level.append(menu)
menu = menu[num]
看來要學的還有很多,多敲幾遍,理解一下吧。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.