如何通过索引选择调用函数

麦可

我想知道是否可以存储,然后调用一个函数,就像您从列表中调用索引项目一样?

在下面的代码中,x代表一个索引号,我尚未确定该程序的最终功能。稍后,我将添加代码以使用其索引功能打印列表,但现在我想使该程序正常工作。索引0标记为空白,因为输入零可能会使某些用户感到困惑。

我正在谈论的相关代码:

print("Weights and Measurements will convert the Imperial measurments, into the corresponding metric measurement.")

programSelect = eval(input("Please choose a program from the list below, with its corresponding index number (1-x):" ))
programs = ["blank", "def tempConvert", "def distance"]

这个想法是让用户通过其索引号选择一个功能。我无能为力的是如何激活def tempConvert或def distance等单个功能,并显示其相应菜单。

这样想吧。

命令提示符将显示为

“重量和度量将把英制度量转换为相应的度量度量。”

“请从下面的列表中选择一个程序,其索引号为(1-x):”

假设我输入1以选择def tempConvert函数

然后应该从def tempConvert函数向我显示以下内容

“请使用摄氏温度或华氏温度”“”请输入摄氏温度:“”请为华氏温度输入温度:“

我知道我需要处理各个程序,以防止用户在摄氏温度和华氏温度中插入温度。目前,该程序可以独立运行,但是我希望它可以在更大的程序中运行。

马库斯·穆勒(MarcusMüller)

是的,这很容易做到:

def function1():
    print "hi, I'm function1"
def function2():
    print "hi, I'm function2"
list_of_functions = [function1, function2]
....
list_of_functions[x]() # this calls the function at index x

请注意,这些函数被称为function1,而不是"def function1"每个函数都是python中的对象,可以存储在列表,字典或变量中,就像可以存储整数,字符串或自己的类实例一样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章