【发布时间】:2019-08-19 16:12:19
【问题描述】:
信息和要求:
- 给出了两个列表,一个变量列表和一个函数列表,没有函数需要比变量列表中的变量更多的参数。
- 必须为函数列表中的每个函数找到所有可能的输入变量组合。这意味着从 0 ->
len(variables) - 无法保证函数会接受参数。
- 不能对函数列表中的函数进行编辑,只能调用它们。
当我自己尝试解决这个问题时,我找到了一个可以处理具有 2 个参数的函数的解决方案,但我不知道如何使其动态化,以便它可以扩展到无限参数
# test input list
# functions = [test_method1, test_method2]
# variables = [1, 2, 3, 4, 5]
for f in functions:
for v in variables: # loop all conditions
try: # checks if combination throws error
f(v)
except TypeError as a: # if amount of parameters is > 1
for v2 in variables: # loop all conditions
try: # tries combination
f(v, v2)
except TypeError as e:
上面显示的代码不是解决方案的一部分,这只是我的最佳尝试,仅供参考。
结果应该是所有函数都尝试以所有可能的变量组合作为参数运行。
【问题讨论】:
标签: python combinations