python游戏菜单问题,本人python小白,求大佬解决帮一下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python游戏菜单问题,本人python小白,求大佬解决帮一下相关的知识,希望对你有一定的参考价值。
'''任务:用元组定义游戏菜单,提示用户输入菜单选择,提示信息为“请输入菜单项对应的数
字,1. 游戏设置 2. 选择游戏级别 3. 我的装备 4. 我的积分 0. 退出”,当用户输入数字后,
输出相应的菜单项名称,若输入 0,则显示“谢谢使用!”。
'''
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,刚使用pycharm。为啥代码里的input()运行不下去?本人小白
我安装了Anaconda后,不知道怎么通过Anaconda进入Python使用matplotlib,本人完全小白。谢谢大家的帮助