> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 임의의 기준으로 정수를 문자열로 변환하려면 어떻게 해야 합니까?

Python에서 임의의 기준으로 정수를 문자열로 변환하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-12-03 22:05:16
원래의
642명이 탐색했습니다.

How Can I Convert Integers to Strings in Arbitrary Bases in Python?

임의의 베이스에서 정수를 문자열로 변환

Python에서는 int(str, base) 함수를 사용하여 문자열에서 정수를 쉽게 변환할 수 있습니다. . 그러나 정수에서 문자열을 생성하는 역연산은 더 어려울 수 있습니다.

임의 기반을 위한 사용자 정의 솔루션

다음 코드는 사용자 정의 솔루션인 numberToBase를 정의합니다. 임의의 정수 n을 임의의 진수 b의 문자열로 변환할 수 있습니다:

def numberToBase(n, b):
    if n == 0:
        return [0]
    digits = []
    while n:
        digits.append(int(n % b))
        n //= b
    return digits[::-1]
로그인 후 복사

이 함수는 다음과 같은 반복 나눗셈 원리에 따라 작동합니다. 베이스 ㄴ. b로 나눈 n의 나머지를 반복적으로 계산하여 숫자 목록에 추가합니다. 이 과정은 n이 0이 될 때까지 계속됩니다. 그런 다음 숫자를 뒤집어 기수 b로 올바른 표현을 얻습니다.

사용 예

큰 숫자를 기수 577로 변환하려면:

print(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]
로그인 후 복사

이 결과는 다른 결과로 변환될 수 있습니다.

내장 함수에 비해 장점

bin, oct, hex 등의 내장 함수와 달리 numberToBase 함수는 다음과 같은 몇 가지 장점을 제공합니다.

  • 모든 Python 버전(2.2부터)에서 작동합니다. 이후)
  • 임의의 진수(2, 8 또는 16으로 제한되지 않음)로 변환
  • 다른 진수 또는 문자열 표현으로 쉽게 변환할 수 있도록 숫자 목록을 반환합니다

위 내용은 Python에서 임의의 기준으로 정수를 문자열로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿