对于给定的程序,现在我要确定对应于不同路径的有效输入范围。你知道吗
例如:
def test(a):
if (a < 50):
return 1
else:
return -1
所以对于这个程序,有两条路径。一条路径返回1,另一条路径返回-1。假设有一个给定的函数(您也可以设计自己的函数)可以返回路径条件列表:
conditions = get_path_conditions(test)
因此条件包含2个字符串元素,["a<50", "a>=50"]
假设输入的范围a = "(-100,100)"
(为了方便起见,我使用一个字符串来表示下限和上限,就像我们在数学中所做的那样。如果您愿意,也可以使用其他表示法)。你知道吗
那么,如何设计一个可以将不同条件映射到不同输入范围的函数呢?你知道吗
conditions = ["a<50", "a>=50"]
a = "(-100,100)"
input_ranges = get_inputs(conditions,a)
所以input_ranges
有2个元素:["(-100,50)","[50,100)"]
类似问题:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3658
如果您的条件是布尔型的,那么可以使用(lambda)函数。以您的例子:
或者可以使用
def
定义函数,并在条件列表中按名称引用它们。你知道吗相关问题 更多 >
编程相关推荐