Python에서 int() 함수는 지정된 진수를 사용하여 문자열에서 정수를 손쉽게 생성합니다. 그러나 정수를 문자열로 변환하는 역연산은 까다로울 수 있습니다. 우리는 다음 조건을 충족하는 일반 솔루션인 int2base(num, base)를 개발하는 것을 목표로 합니다.
int(int2base(x, b), b) == x
다음은 임의의 베이스를 처리하는 놀랍도록 간단한 솔루션입니다.
def numberToBase(n, b): if n == 0: return [0] digits = [] while n: digits.append(int(n % b)) n //= b return digits[::-1]
이 함수 숫자 n을 기본 b로 변환하고 숫자 목록을 반환합니다. 예를 들어 큰 숫자를 577진법으로 변환하려면:
numberToBase(67854 ** 15 - 102, 577)
정확한 결과를 목록으로 제공합니다:
[4, 473, 131, 96, 431, 285, 524, 486, 28, 23, 16, 82, 292, 538, 149, 25, 41, 483, 100, 517, 131, 28, 0, 435, 197, 264, 455]
제공된 솔루션은 내장 기능에 원하는 기능이 없을 때 맞춤 기능이 필요한 경우가 있음을 보여줍니다. 여기서 int2base()는 다음을 통해 제한 사항을 극복합니다.
위 내용은 Python의 모든 베이스에서 정수를 문자열로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!