在不同的条件下如何划分变量的范围?

2024-04-20 12:50:51 发布

您现在位置:Python中文网/ 问答频道 /正文

对于给定的程序,现在我要确定对应于不同路径的有效输入范围。你知道吗

例如:

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


Tags: 函数字符串test路径程序元素inputget
1条回答
网友
1楼 · 发布于 2024-04-20 12:50:51

如果您的条件是布尔型的,那么可以使用(lambda)函数。以您的例子:

conditions = [lambda x:x<50, lambda x:x=>50]

或者可以使用def定义函数,并在条件列表中按名称引用它们。你知道吗

相关问题 更多 >