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
的值。
- 当