如何针对这种特定情况编写while循环?

2024-09-29 19:35:04 发布

您现在位置:Python中文网/ 问答频道 /正文

创建函数execChoice(choice)。 o使用Python方法执行switch语句,该语句使用具有名称选项的dictionary对象,从dictionary调用函数,该dictionary的键由传递给函数的string选项指定。你知道吗

你知道吗▪ 可以通过将变量中的字符串大写来进行不区分大小写的检查吗 在检查是否匹配字典中的键之前进行选择。你知道吗

o如果键不在字典中,则应调用MenuOptions模块中的默认函数。你知道吗

对于所讨论的while循环:

•创建变量选项并为其分配空字符串。你知道吗

•创建一个while循环,直到变量选择的值为“X”时才会停止。 此检查不区分大小写。你知道吗

•在while循环中:

o调用菜单模块中的getChoice函数,并将返回值赋给变量choice。 o调用菜单模块中的execChoice函数,并将变量选择传递给该函数。你知道吗

我已经正确地在以前的情况下做了类似的编码,然而,这一个已经停止了我。我似乎无法通过这个虽然循环的一部分,我也有上面的情况的问题。你知道吗

def execChoice(choice):
    choices = 
          {
           "S": showPilots(),
           "A": addPilot(),
           "D": deletePilot(),
           "X": done()
           }
    if dict.keys() not in choices:
        default()


from .Menu import *

choice = []
while choice is True:
    choice = getChoice(Menu)
'''
Cannot figure out what i need to add after this
'''

预期结果应该是上述描述中描述的结果,并且循环/函数应该按照指示正确运行。(尚未运行,只是在没有语法或其他错误的情况下工作)。你知道吗


Tags: 模块函数字符串dictionary字典选项菜单情况
1条回答
网友
1楼 · 发布于 2024-09-29 19:35:04

按照你定义字典的方式,它实际上调用了showPilots()函数,addPilot()函数,等等

我认为字典是用来存放函数对象,但实际上不是调用它们:

def execChoice(choice):
    choices = {
        "S": showPilots,
        "A": addPilot,
        "D": deletePilot,
        "X": done
    }
    if choice in choices:
        return choices[choice]
    else:
        return default

然后你会这样称呼它:

# get the function we are supposed to call
f = execChoice(user_input)
# now execute the function
f()

相关问题 更多 >

    热门问题