如何限制数字在指定范围内?(python)
我想将数字限制在一定范围内。目前,我正在执行以下操作:
minN = 1maxN = 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