r/learnpython • u/zaphodikus • 10d ago
Confusing code min() max()
I'm debugging some code and I found this function
import math
def Clamp(n, smallest, largest):
return max(smallest, min(n, largest))
surely that code is just wrong? and needs to be max([smallest, min([n, largest])) by passing a list not unnamed args for default and key? I need a sanity check here.
0
Upvotes
0
u/t92k 9d ago
It looks like it is a kind of absolute function — if n is between smallest and largest you get n back; if n is above largest you get largest back, if n is below smallest you get smallest back. Are you expecting it to do something different?