我正在使用 random.choice()
随机调用列表中的函数。它工作正常,但有时不满足被调用函数中的条件之一,因此它不会运行。发生这种情况时,我想从列表中调用另一个不同的函数。
func_list 是动态填充的,列表中可能有一个或多个函数。
代码如下:
func_list[func_one, func_two, func_three]
random.choice(func_list)()
因此,例如,调用了 func_two
但未满足函数中的条件 我想调用 func_one
或 func_three
随机选择。如果不满足该函数中的条件,我想调用另一个函数。
这有可能吗?
最佳答案
为了避免调用同一个函数两次,我建议打乱列表并一个一个地尝试函数,例如
func_list = [func_one, func_two, func_three]
func_list_shuffled = func_list[:] # shallow copy
random.shuffle(func_list_shuffled)
for func in func_list_shuffled:
try:
func()
except:
pass
else:
# no exception ocurred
break
else:
print("all functions errored")
关于python - 随机调用函数然后在 Python 中调用不同的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69626563/