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之间的差异。