ホームページ >バックエンド開発 >Python チュートリアル >Python で整数を任意の基数の文字列に変換するにはどうすればよいですか?

Python で整数を任意の基数の文字列に変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-03 22:05:16636ブラウズ

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 を b で割ったときの余りを繰り返し計算し、それを数字のリストに追加します。このプロセスは、n がゼロになるまで続きます。次に、数字が反転されて、基数 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。