如何限制数字在指定范围内?(python)

我想将数字限制在一定范围内。目前,我正在执行以下操作:

minN = 1

maxN = 10

n = something() #some return value from a function

n = max(minN, n)

n = min(maxN, n)

这样可以将其保留在minN和中maxN,但看起来不太好。我怎样才能做得更好?

PS:仅供参考,我正在使用Python 2.6。

回答:

def clamp(n, minn, maxn):

return max(min(maxn, n), minn)

或功能等效:

clamp = lambda n, minn, maxn: max(min(maxn, n), minn)

现在,您使用:

n = clamp(n, 7, 42)

或者说得很清楚:

n = minn if n < minn else maxn if n > maxn else n

更清晰:

def clamp(n, minn, maxn):

if n < minn:

return minn

elif n > maxn:

return maxn

else:

return n

以上是 如何限制数字在指定范围内?(python) 的全部内容, 来源链接: utcz.com/qa/405255.html

回到顶部