我想知道是否可以存储然后调用函数,就像从列表中调用索引项一样?
在下面的代码中,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函数
中显示以下内容"请使用Celsius或Fahrenheit" "请输入摄氏温度:" "请输入华氏温度:"
我知道我需要处理各个程序,以防止用户在摄氏和华氏温度下插入温度。目前,该程序独立运作,但我希望它能在更大的程序中运行。
答案 0 :(得分:1)
是的,这很容易做到:
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中的一个对象,可以存储在列表,字典或变量中,就像存储整数,字符串或自己的类实例一样。