使用 Python 將數字限制在一個範圍內
Vaibhav Vaibhav
2022年5月17日
鉗位是指將一個值限制在一個範圍內。當值超出範圍時,將其更改為可能的最大值,如果值超出範圍,則將其更改為可能的最小值。
在本文中,我們將學習如何使用 Python 將數字限制在一個範圍內。
使用 Python 將數字限制在一個範圍內
以下 Python 程式碼描述瞭如何將數字限制在一個範圍內。
def clamp(n, smallest, largest):
return max(smallest, min(n, largest))
print(clamp(1.000001, 0, 1))
print(clamp(34.2, 0, 34))
print(clamp(45, 0, 10))
print(clamp(1, 0, 1))
print(clamp(-100, 0, 100))
輸出:
1
34
10
1
0
上面的存根函式返回範圍內的輸入值。注意 min()
和 max()
函式是如何用於實現的。
編寫上述存根函式的一種更有創意的方法是使用列表和排序操作。下面的 Python 程式碼描述了這一點。
def clamp(n, smallest, largest):
return sorted([smallest, n, largest])[1]
print(clamp(1.000001, 0, 1))
print(clamp(34.2, 0, 34))
print(clamp(45, 0, 10))
print(clamp(1, 0, 1))
print(clamp(-101, 0, 100))
輸出:
1
34
10
1
0
完美值或鉗制值將始終位於列表的中間或索引 1
。如果輸入值大於最大可能值,則最大可能值將位於列表中間。
如果輸入值小於最小可能值,則最小可能值將位於列表的中間。而且,如果輸入值在範圍內,它將位於列表的中間。
Author: Vaibhav Vaibhav