Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码
本篇阅读的代码实现了将一个数限制在指定范围内的功能,如果这个数在另外两个数所指定的范围内,将保持自己的值,否则返回离这个数最近的值。
本篇阅读的代码片段来自于30-seconds-of-python。
clamp_number
def clamp_number(num,a,b):
return max(min(num, max(a, b)), min(a, b))
# EXAMPLES
print(clamp_number(2, 3, 5)) # 3
print(clamp_number(1, -1, -5)) # -1
clamp_number
函数接收一个需要被限制的数num
,以及表示返回的两个数a
和b
,返回限制的结果。
区别于多次使用if
条件语句,该函数组合使用max
和min
函数求取限制的结果。
代码的逻辑是先求取a
和b
的最大值,再和num
求取最小值。这个最小值再和a
、b
之间的最小值比较取最大值。
max(a, b)
这一步计算求出指定范围的上限α
。min(num, α)
这一步在指定数值和范围的上限中求最小值。只有指定的数值超过范围上限的时候,返回值为α
,其他情况返回num
。min(a, b)
这一步计算出指定返回的下限β
。- 最后一步有两种情况,分别是
max(α, β)
和max(num, β)
。- 当
num
超过范围上限时,最后一步为max(α, β)
。此时返回范围上限α
,是整个取值范围内最接近num
的值。 - 当
num
没有超过范围上限时,最后一步为max(num, β)
。此时如果num
在取值范围内,就会大于范围下限β
,返回num
。如果num
小于范围下限β
,则返回β
,是整个取值范围内最接近num
的值。
- 当
声明:本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。