본문 바로가기
파이썬

파이썬 숫자를 지정된 범위 내로 제한하는 방법은 무엇입니까? (파이썬)

by º기록 2020. 10. 2.
반응형

숫자를 특정 범위로 제한하고 싶습니다. 현재 다음을 수행하고 있습니다.

minN = 1
maxN = 10
n = something() #some return value from a function
n = max(minN, n)
n = min(maxN, n)

이렇게하면 minN maxN 이내로 유지되지만보기에는 좋지 않습니다. 어떻게하면 더 잘할 수 있습니까?

추신 : 참고로, 저는 Python 2.6을 사용하고 있습니다.

 

해결 방법

 

def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)

또는 기능적으로 동등한 :

clamp = lambda n, minn, maxn: max(min(maxn, n), minn)

이제 다음을 사용합니다.

n = clamp(n, 7, 42)

또는 완벽하게 명확하게 만드십시오.

n = minn if n < minn else maxn if n > maxn else n

더 명확하게 :

def clamp(n, minn, maxn):
    if n < minn:
        return minn
    elif n > maxn:
        return maxn
    else:
        return n

 

참조 페이지 https://stackoverflow.com/questions/5996881

 

 

반응형

댓글