首页 > 其他分享 >软工日报3.26

软工日报3.26

时间:2024-06-19 22:25:02浏览次数:20  
标签:菜单 level 日报 menu 软工 choice current 3.26 print

代码量:

8-4 【Python0036】中文级联菜单 分数 10 作者 doublebest 单位 石家庄铁道大学

编写程序实现中文级联菜单,建议可以使用pypinyin或其它扩展库。

代码:

def display_menu(menu, level=0):
"""递归显示菜单"""

for index, (key, value) in enumerate(menu.items(), start=1):

print(" " * level + f"{index}. {key}")

if isinstance(value, dict): # 如果值是字典,说明还有下一级菜单

display_menu(value, level + 1)


def get_choice(prompt="请选择: "):
"""获取用户选择"""

while True:

try:

choice = int(input(prompt))

return choice

except ValueError:

print("输入无效,请输入数字。")


def navigate_menu(menu):
"""导航菜单"""

while True:

display_menu(menu)

choice = get_choice()

current_level = menu

path = [] # 记录选择的路径

# 根据用户选择遍历菜单

for level in range(len(str(choice))):

digit = int(str(choice)[level]) - 1

if digit < len(current_level):

path.append(list(current_level.keys())[digit])

current_level = list(current_level.values())[digit]

else:

print("无效的选择。")

break

# 检查是否到达叶子节点

if not isinstance(current_level, dict):
print("你选择了:", " -> ".join(path))

print("操作完成或显示信息。") # 这里可以添加具体操作

break


# 示例菜单结构

menu = {

"一级菜单1": {

"二级菜单1-1": "这是二级菜单1-1的操作或信息",

"二级菜单1-2": {

"三级菜单1-2-1": "这是三级菜单1-2-1的操作或信息"

}

},

"一级菜单2": {

"二级菜单2-1": "这是二级菜单2-1的操作或信息"

}

}

navigate_menu(menu)

标签:菜单,level,日报,menu,软工,choice,current,3.26,print
From: https://www.cnblogs.com/guozi6/p/18257583

相关文章

  • 软工日报3.25
    代码量:8-3【Python0035】英文统计分数10全屏浏览作者 doublebest单位 石家庄铁道大学编写程序实现对特定英文文章(文本文件)的单词数和有效行数的统计,其中要求空行不计数;代码:importrefile="HarryPotterAndTheChamberOfSecrets.txt......
  • 软工日报3.22
    代码量:8-2【Python0032】谢宾斯基三角型字符分形图形输出分数10全屏浏览作者 doublebest单位 石家庄铁道大学要求编程输出如下图示的字符分形图形(谢宾斯基三角形),要求提交源代码文件,其中源代码要求逐行注释。 代码:importturtle......
  • 软工日报3.21
    代码量:8-1【Python0031】简易带参计算器分数10全屏浏览作者 doublebest单位 石家庄铁道大学设计一个简易的参数计算器。【输入格式】第一行输入待计算的带变量参数的计算式第二行输入各变量参数的赋值序列【输出格式】输出带变量参数的计算式的计......
  • 软工日报3.13
    代码量:7-1产生每位数字相同的n位数分数15全屏浏览切换布局作者 陈春晖单位 浙江大学读入2个正整数A和B,1<=A<=9,1<=B<=10,产生数字AA...A,一共B个A输入格式:在一行中输入A和B。输出格式:在一行中输出整数AA...A,一共B个A输入样例1:在这......
  • 软工日报3.20
    代码量:6-1使用函数输出指定范围内Fibonacci数的个数分数20全屏浏览切换布局作者 陈春晖单位 浙江大学本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。所谓Fib......
  • 软工日报3.19
    代码量:6-1使用函数求特殊a串数列和分数30全屏浏览切换布局作者 陈春晖单位 浙江大学给定两个均不超过9的正整数a和n,要求编写函数fn(a,n)求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列和函数接口定义: fn(a,n)其中a和n都是用户传......
  • 软工日报3.18
    代码量:7-1jmu-python-汇率兑换分数10全屏浏览切换布局作者 蔡莉白单位 集美大学按照1美元=6人民币的汇率编写一个美元和人民币的双向兑换程序输入格式:输入人民币或美元的金额,人民币格式如:R100,美元格式如:$100输出格式:输出经过汇率计算的......
  • 软工日报3.15
    时长:五十分钟代码量:7-1图的字典表示分数20全屏浏览切换布局作者 陈春晖单位 浙江大学有向图的字典表示。输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度。比如上图0点表示:{'O':{'A':2,'B':5,'C':4}}。用ev......
  • 软工日报3.14
    代码量:7-1jmu-python-输入输出-计算字符串中的数分数10全屏浏览切换布局作者 郑如滨单位 集美大学将字符串中的每个数都抽取出来,然后统计所有数的个数并求和。输入格式:一行字符串,字符串中的数之间用1个空格或者多个空格分隔。输出格式:......
  • 3.26
    时长:五十分钟代码量:8-4【Python0036】中文级联菜单分数10全屏浏览作者 doublebest单位 石家庄铁道大学编写程序实现中文级联菜单,建议可以使用pypinyin或其它扩展库。代码:defdisplay_menu(menu,level=0):"""递归显示菜单"""fori......