Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在函数列表中选择和执行函数_Python - Fatal编程技术网

Python 在函数列表中选择和执行函数

Python 在函数列表中选择和执行函数,python,Python,我正试图写一个程序,做一些随机移动,它有很多函数,程序选择像一个关键字使用函数,但我的代码变得大一些简单的东西,有一个更简单的方法来写这段代码吗 list_mov = ["R", "RI", "L", "LI", "U", "UI", "D", "DI", "F", "FI", "B", "BI"] mov = random.choice(list_mov) # Here i need to make a list of selected functions resolution.appen

我正试图写一个程序,做一些随机移动,它有很多函数,程序选择像一个关键字使用函数,但我的代码变得大一些简单的东西,有一个更简单的方法来写这段代码吗

list_mov = ["R", "RI", "L", "LI", "U", "UI", "D", "DI", "F", "FI", "B", "BI"]

mov = random.choice(list_mov)

# Here i need to make a list of selected functions
resolution.append(mov)

if mov == "R":
    mov_r()
if mov == "RI":
    mov_ri()
if mov == "L":
    mov_l()
if mov == "LI":
    mov_li()
if mov == "U":
    mov_u()
if mov == "UI":
    mov_ui()
if mov == "D":
    mov_d()
if mov == "DI":
    mov_di()
if mov == "F":
    mov_f()
if mov == "FI":
    mov_fi()
if mov == "B":
    mov_b()
if mov == "BI":
    mov_bi()

您只需创建一个函数列表并从中选择变量,就像处理字符串一样。它们都有相同的参数,因此应该很容易:

list_mov=[mov_r,mov_ri,…] mov=random.choicelist_mov 决议.appendmov 最后 压敏电阻
您只需创建一个函数列表并从中选择变量,就像处理字符串一样。它们都有相同的参数,因此应该很容易:

list_mov=[mov_r,mov_ri,…] mov=random.choicelist_mov 决议.appendmov 最后 压敏电阻
在python中,一切都是一个对象。功能包括。所以我可以这样写:

列表\u mov={ R:mov_R, 里:莫夫里, L:mov_i, …在这里填写更多 } mov=random.choicelistlist\u mov.keys 在这里,我需要列出所选函数 决议.appendmov 获取函数,然后执行它 func=list_mov[mov] func
在python中,一切都是一个对象。功能包括。所以我可以这样写:

列表\u mov={ R:mov_R, 里:莫夫里, L:mov_i, …在这里填写更多 } mov=random.choicelistlist\u mov.keys 在这里,我需要列出所选函数 决议.appendmov 获取函数,然后执行它 func=list_mov[mov] func
在python中,一切都是对象。您可以简单地这样做:list_mov=[mov_r,mov_l,…] 因此,您可以使用:

mov = random.choice(list_mov)
mov()

在python中,一切都是对象。您可以简单地这样做:list_mov=[mov_r,mov_l,…] 因此,您可以使用:

mov = random.choice(list_mov)
mov()

实际上,您可以从函数实例列表中进行选择,然后调用随机选择的函数实例,如:

将numpy作为np导入 def x: 打印函数x! 定义y: 我是普林蒂。 def z: 普林茨 av_函数=[x,y,z] mv=np.random.choiceav_函数 mv
实际上,您可以从函数实例列表中进行选择,然后调用随机选择的函数实例,如:

将numpy作为np导入 def x: 打印函数x! 定义y: 我是普林蒂。 def z: 普林茨 av_函数=[x,y,z] mv=np.random.choiceav_函数 mv
为什么不使用函数列表?@Tupteq那么mov将是函数,而不是移动的字符串名称。解析将不是字符串列表。它不起作用,出现以下错误:File Some Archives\Python38-32\lib\random.py,第291行,in choice return seq[i]TypeError:“dict_keys”对象不可下标我不知道这是什么意思,我是python的初学者,不知道它背后的程序是如何工作的,你能解释一下吗@adrtam@KronusDelta更新代码。你需要把单子列成单子。归咎于Python 2和3之间的差异。为什么不使用函数列表?@Tupteq那么mov将是函数,而不是移动的字符串名称。解析将不是字符串列表。它不起作用,出现以下错误:File Some Archives\Python38-32\lib\random.py,第291行,in choice return seq[i]TypeError:“dict_keys”对象不可下标我不知道这是什么意思,我是python的初学者,不知道它背后的程序是如何工作的,你能解释一下吗@adrtam@KronusDelta更新代码。你需要把单子列成单子。归咎于Python2和Python3之间的差异。