Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich in Python ganze Zahlen in beliebige Basen in Zeichenfolgen umwandeln?

Wie kann ich in Python ganze Zahlen in beliebige Basen in Zeichenfolgen umwandeln?

Patricia Arquette
Freigeben: 2024-12-03 22:05:16
Original
635 Leute haben es durchsucht

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

Ganzzahlen in Strings in beliebigen Basen konvertieren

In Python können Ganzzahlen mithilfe der Funktion int(str, base) einfach aus Strings konvertiert werden . Der umgekehrte Vorgang zum Erstellen einer Zeichenfolge aus einer Ganzzahl kann jedoch schwieriger sein.

Benutzerdefinierte Lösung für beliebige Basen

Der folgende Code definiert eine benutzerdefinierte Lösung, numberToBase, die jede ganze Zahl n in eine Zeichenfolge in jeder Basis b umwandeln kann:

def numberToBase(n, b):
    if n == 0:
        return [0]
    digits = []
    while n:
        digits.append(int(n % b))
        n //= b
    return digits[::-1]
Nach dem Login kopieren

Diese Funktion arbeitet nach dem Prinzip der wiederholten Division durch die Basis b. Es berechnet wiederholt den Rest von n, wenn es durch b dividiert wird, und fügt ihn einer Liste von Ziffern hinzu. Der Prozess wird fortgesetzt, bis n Null wird. Die Ziffern werden dann umgekehrt, um die korrekte Darstellung in Basis b zu erhalten.

Beispielverwendung

Um eine große Zahl in die Basis 577 umzuwandeln:

print(numberToBase(67854 ** 15 - 102, 577))
Nach dem Login kopieren

Ausgabe:

[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]
Nach dem Login kopieren

Dieses Ergebnis kann dann in jede andere Basis umgewandelt werden als benötigt.

Vorteile gegenüber integrierten Funktionen

Im Gegensatz zu integrierten Funktionen wie Bin, Okt und Hex bietet die Funktion „numberToBase“ mehrere Vorteile:

  • Funktioniert mit jeder Python-Version (ab 2.2)
  • Konvertiert in jede beliebige Basis (nicht auf 2, 8 oder 16 beschränkt)
  • Gibt eine Liste von Ziffern zurück, was eine einfache Konvertierung in andere Basen oder String-Darstellung ermöglicht

Das obige ist der detaillierte Inhalt vonWie kann ich in Python ganze Zahlen in beliebige Basen in Zeichenfolgen umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage