1-2 三级菜单
Posted 不要被骄傲遮蔽了双眼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1-2 三级菜单相关的知识,希望对你有一定的参考价值。
1.需求
作业三:多级菜单
- 三级菜单
- 可依次选择进入各子菜单
- 所需新知识点:列表、字典
2.个人思路
定义 database = {} 打印主菜单 用户输入选择 打印二级菜单 用户输入 打印三级菜单 每层输入q 退出程序 每层输入b返回上一层 (没有实现 )
2.1个人代码
data_base = { \'shaanxi\':{ "xi\'an":{ \'yantaqu\':[\'dongyilu\',\'dianzierlu\',\'taibailu\'], \'weiyangqu\':[\'ziwulu\',\'dahualu\'], \'changanqu\':[\'changanlu\',\'jinhualu\'] }, \'xianyang\':{}, \'weinan\':{} }, \'jiangsu\':{}, \'nanjing\':{} } #循环打印字典,第一层 for i in data_base: print(i) choice_1 = input("enter your choice >").strip() if choice_1 in data_base: for i in data_base[choice_1]: print(\' >\',i) choice_2 = input("enter your choice >>").strip() if choice_2 in data_base[choice_1]: for i in data_base[choice_1][choice_2]: print(\' >>\',i) choice_3 = input("enter your choice >>>").strip() if choice_3 in data_base[choice_1][choice_2]: print(\' >>>\',data_base[choice_1][choice_2][choice_3]) elif choice_3 == \'q\': print("-------bye-bye------") exit() else: print("\\033[1mEntererror!!!\\033[0m") elif choice_2 == \'q\': print("---------bye-bye------") exit() else: print("\\033[1mEntererror!!!\\033[0m") elif choice_1 == \'q\': print("------bye-bye--------") exit() else: print("\\033[1mEntererror!!!\\033[0m")
2.2 小方法心得
1)打印字典
#打印完整字典 #print(data_base) #print(data_base[choice_1]) #打印第一层 #print(data_base[choice_1][choice_2]) #打印第2层 # print(data_base[choice_1][choice_2][choice_3] #打印第3层
2)循环打印字典
#循环打印字典,第一层 # for i in data_base: # print(i)
3)字体加粗
字体加粗 print("\\033[1mEntererror!!!\\033[0m")
4)break问题
a.错误实例
b.正确实例
.5) elif 问题
如果需要检查多个条件,就可以使用 elif
Choice_3 》yanta if
》b elif
》q elif
》other else
只能用一个 if 其余的全是 elif 就可以解决问题
3.完整代码
data_base = { \'shaanxi\':{ "xi\'an":{ \'yantaqu\':[\'dongyilu\',\'dianzierlu\',\'taibailu\'], \'weiyangqu\':[\'ziwulu\',\'dahualu\'], \'changanqu\':[\'changanlu\',\'jinhualu\'] }, \'xianyang\':{}, \'weinan\':{} }, \'jiangsu\':{}, \'nanjing\':{} } while True: #循环打印字典,第一层 for i in data_base: print(i) choice_1 = input("enter your choice >").strip() if choice_1 in data_base: while True: for i in data_base[choice_1]: print(\' >\',i) choice_2 = input("enter your choice >>").strip() if choice_2 in data_base[choice_1]: while True: for i in data_base[choice_1][choice_2]: print(\' >>\',i) choice_3 = input("enter your choice >>>").strip() if choice_3 in data_base[choice_1][choice_2]: print(\' >>>\',data_base[choice_1][choice_2][choice_3]) choice_4 = input (\'this is the bottom ,按b返回 >\') if choice_4 == \'b\': pass elif choice_4 == \'q\': print("-------bye-bye------") exit() else: print("\\033[1mEntererror!!!\\033[0m") elif choice_3 == \'b\': break elif choice_3 == \'q\': print("-------bye-bye------") exit() else: print("\\033[1mEntererror!!!\\033[0m") elif choice_2 == \'b\': break elif choice_2 == \'q\': print("-------bye-bye------") exit() else: print("\\033[1mEntererror!!!\\033[0m") elif choice_1 == \'b\': break elif choice_1 == \'q\': print("-------bye-bye------") exit() else: print("\\033[1mEntererror!!!\\033[0m")
以上是关于1-2 三级菜单的主要内容,如果未能解决你的问题,请参考以下文章