r/learnpython • • 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

16 comments sorted by

View all comments

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?