python - 随机调用函数然后在 Python 中调用不同的函数

标签 python

我正在使用 random.choice() 随机调用列表中的函数。它工作正常,但有时不满足被调用函数中的条件之一,因此它不会运行。发生这种情况时,我想从列表中调用另一个不同的函数。

func_list 是动态填充的,列表中可能有一个或多个函数。

代码如下:

func_list[func_one, func_two, func_three]
random.choice(func_list)()

因此,例如,调用了 func_two 但未满足函数中的条件 我想调用 func_onefunc_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/

相关文章:

python - 从数据透视表绘制 Pandas DataFrame

python - "InvalidArgumentError: Incompatible shapes: [64,40000] vs. [64] [Op:Mul]"在张量之间进行运算时?

Python:使用 chroot 和 chjail 保护不受信任的脚本/子进程?

python导入问题

python:提取不同列表的项目并将它们放入一组

python - Pandas - 无法按重复列排序

python - 为什么 python azure 函数无法在本地运行?

python - Marshmallow URLFor BuildError 与 ObjectId

python - 如何返回指向ctypes中结构的指针?

python - RPython 支持生成器吗?