python游戏菜单问题,本人python小白,求大佬解决帮一下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python游戏菜单问题,本人python小白,求大佬解决帮一下相关的知识,希望对你有一定的参考价值。

'''任务:用元组定义游戏菜单,提示用户输入菜单选择,提示信息为“请输入菜单项对应的数
字,1. 游戏设置 2. 选择游戏级别 3. 我的装备 4. 我的积分 0. 退出”,当用户输入数字后,
输出相应的菜单项名称,若输入 0,则显示“谢谢使用!”。
'''

参考技术A

while True:
num = ('1','2','3','4','0')
menu = ('游戏设置','选择游戏级别','我的装备','我的积分','退出')
mapping = dict(zip(num, menu))
print('\\n'.join(['.'.join(x) for x in  mapping.items()]))
choice = input('请输入菜单项对应的数字:')
print(mapping.get(choice, '选项不存在') if choice!='0' else '谢谢使用', end='\\n\\n')
if choice == '0':
break

新手小白 python之路 Day1 (三级菜单功能实现)

直接上需求:

        实现一个多级菜单

    三级菜单的实现
    可以依次选择进入各个子菜单
    也可以返回上级菜单
    所需知识 列表 字典

需求也比较简单,但实际上做起来还是遇到许多的问题,我这边主要用到的知识点大概就是  字典 等

大致的思路 我是分别写了四个函数

Abnormal() 通过抛出异常来判断输入的编号是否合法
Province() 获取省级菜单
City() 获取市级菜单
Area() 获取区级菜单
来实现整个功能的,话不多说直接上代码了
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: linghanchujian

"""
多级菜单
  三级菜单的实现
  可以依次选择进入各个子菜单
  也可以返回上级菜单
  所需知识 列表 字典
"""

"""
 三级菜单字典
"""
DictionaryMenu = {
    山东 : {
         青岛 : [四方,黄岛,崂山,李沧,城阳],
         济南 : [历城,槐荫,高新,长青,章丘],
         烟台 : [龙口,莱山,牟平,蓬莱,招远]
     },
    安徽 : {
        合肥 : [蜀山,庐阳,包河,经开,新站],
         芜湖 : [镜湖,鸠江,无为,三山,南陵],
        蚌埠 : [蚌山,龙子湖,淮上,怀远,固镇]
     },
    广东 : {
         深圳 : [罗湖,福田,南山,宝安,布吉],
         广州 : [天河,珠海,越秀,白云,黄埔],
         东莞 : [莞城,长安,虎门,万江,大朗]
     }
}
"""
通过抛出异常来判断输入的编号是否合法
"""
def Abnormal(Num):
    try:
        int(Num)
        return True
    except ValueError:
        return False

"""
获取省级
"""
def Province():
    for i,j in enumerate (DictionaryMenu):
        print(str(i+1)+""+j)

    LevelOneOptions = input("请选择上面一级菜单列表的序号(n 退出): ")
    if LevelOneOptions == n:
        exit()
    else:
        if Abnormal(LevelOneOptions):
            OneOptions = int(LevelOneOptions)
            # print(LevelOneCount+1)
            if OneOptions>0 and OneOptions<(i+2):
                City(OneOptions-1)
            else:
                print("请输入0~~"+str(i+2)+"之间的数")
                print("---------------------------------------")
                Province()
        else:
            print("编号不合法!!")
            print("---------------------------------------")
            Province()
    pass


"""
获取市级
"""
def City(Options):
    for i,j in enumerate(DictionaryMenu):
        if i == Options:
            for n,k in enumerate(DictionaryMenu[j]):
                print(str(n+1)+""+k)
            SecondLevelOptions = input("请选择上面二级菜单列表的序号(b/n 返回上级/退出): ")
            if SecondLevelOptions == "n":
                exit()
            elif SecondLevelOptions == "b":
                Province()
                return ;
            else:
                if Abnormal(SecondLevelOptions):
                    TwoOptions = int(SecondLevelOptions)
                    # print(LevelOneCount+1)
                    if TwoOptions > 0 and TwoOptions < (n + 2):
                        Area(Options,TwoOptions - 1)
                    else:
                        print("请输入0~~" + str(n + 2) + "之间的数")
                        print("---------------------------------------")
                        City(Options)
                else:
                    print("编号不合法!!")
                    print("---------------------------------------")
                    City(Options)

    pass


"""
获取区级
"""
def Area(Options,TwoOptions):
    for i,j in enumerate(DictionaryMenu):
        if i == Options:
            for n,k in enumerate(DictionaryMenu[j]):
                if n == TwoOptions:
                    for c,v in enumerate(DictionaryMenu[j][k]):
                        print(str(c+1)+""+v)
                    ThreeOptions = input("上面就是三级菜单全部内容(b/n 返回上级/退出): ")
                    if ThreeOptions == "b":
                        City(Options)
                        return ;
                    else:
                        exit()


    pass

print("欢迎来到三级菜单!!")
Province()

 




以上是关于python游戏菜单问题,本人python小白,求大佬解决帮一下的主要内容,如果未能解决你的问题,请参考以下文章

关于python菜单的问题,小白求教!

本人最近学python,刚使用pycharm。为啥代码里的input()运行不下去?本人小白

1python三级菜单,小白第一次随笔

新手小白 python之路 Day1 (三级菜单功能实现)

Appium+python自动化环境搭建(小白适用)

我安装了Anaconda后,不知道怎么通过Anaconda进入Python使用matplotlib,本人完全小白。谢谢大家的帮助