본문 바로가기
프로그래밍언어/파이썬[Error]

[파이썬][Error] 038. ValueError - int() base must be >= 2 and <= 36

by about_IT 2025. 5. 27.
728x90

ValueError: int() base must be >= 2 and <= 36 오류는 int() 함수에 지정된 진수(base) 값이 유효한 범위를 벗어났을 때 발생합니다. int() 함수는 문자열을 특정 진수로 해석하여 정수로 변환할 수 있지만, base 값은 2진수부터 36진수까지만 지원합니다.

진수 값이 1보다 작거나 37 이상일 경우에는 파이썬이 이를 유효한 진수로 인식하지 못해 오류가 발생합니다. 특히 사용자 입력이나 외부 모듈을 통해 base 값을 받을 때 자주 실수로 인해 이 오류가 발생할 수 있습니다.

● 오류 발생 예시

int('1010', base=1)

base가 2보다 작기 때문에 오류가 발생합니다.

ValueError: int() base must be >= 2 and <= 36

● 해결 방법

  • base 값이 2 이상 36 이하의 범위인지 사전에 확인
  • 사용자 입력을 사용할 경우 예외 처리나 필터링 적용

● 올바른 코드 예시

print(int('1010', 2))    # 출력: 10
print(int('1f', 16))    # 출력: 31
print(int('z', 36))     # 출력: 35

각 진수는 해당 문자 집합에 맞게 해석되며, base는 반드시 2~36 범위 내여야 합니다.

● 자주 하는 실수

  • int() 사용 시 base를 0이나 1로 지정
  • 지원하지 않는 진법(예: 60진법 등)을 실수로 입력
  • 외부에서 전달된 base 값을 검증 없이 사용

● 결론

ValueError - int() base must be >= 2 and <= 36 오류는 int() 함수의 두 번째 인자인 진수(base)가 허용된 범위를 벗어날 때 발생합니다. 2진수부터 36진수까지의 범위만 유효하므로, base 값을 다룰 때는 항상 범위 검사를 수행하거나 예외 처리를 통해 안정적인 코드를 작성하는 것이 중요합니다.

728x90