设置数字边界?

2024-10-17 06:16:23 发布

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

我很难设定一个简单的边界。在

我用这个代码设置了最小和最大边界。在

def min3(n,m,o):
    if (n<m<o or n<o<m):
        return(m)
    elif (o<m<n or o<n<m):
        return(o)

def max3(n,m,o):
    if (n>m>o or n>o>m):
        return(n)
    elif (m>n>o or m>o>n):
        return(m)
    elif (o>m>n or o>n>m):
        return(o)

此代码不会在我的终端上打印任何值,但如果我使用:

^{pr2}$

然后返回的值在终端中打印为“最小值是n”,这看起来就像我在程序中很好地运行。在

但是,当我实际输入边界代码时,它是:

def Boundaries(a,x,b):
    if (x < a):
        return False
    elif(x >=a and x<= b):
        return True

然后像往常一样运行程序,python3抱怨说

“无序类型:int()<;tuple()”

我不知道如何把x变成元组,或者把a变成整数。在


Tags: orand代码程序false终端returnif
3条回答

首先,您似乎输入了一个元组a,这意味着您在代码中的某个地方有:

^{1}$

或者

^{pr2}$

现在,要解决您的问题,最直接的方法是一行函数:

def boundaries(a, x, b):
    return a <= x and x <= b

如果表达式的计算结果为False,则返回False。许多程序员通常忘记了条件本身就是布尔值这一事实。在

这是你所期望的吗?在

^{1}$

这有点令人困惑,为什么不直接使用min和max函数呢?在

^{1}$

还有你的边界函数

^{pr2}$

相关问题 更多 >