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
'프로그래밍언어 > 파이썬[Error]' 카테고리의 다른 글
[파이썬][Error] 042. IndexError - pop from empty list (0) | 2025.05.28 |
---|---|
[파이썬][Error] 039. ValueError - 'x' is not in list (0) | 2025.05.27 |
[파이썬][Error] 037. ValueError - math domain error (0) | 2025.05.27 |
[파이썬][Error] 036. ValueError - max() arg is an empty sequence (0) | 2025.05.27 |
[파이썬][Error] 035. ValueError - list.remove(x): x not in list (0) | 2025.05.27 |