Maison > développement back-end > Tutoriel Python > Comment convertir des entiers en chaînes dans des bases arbitraires en Python ?

Comment convertir des entiers en chaînes dans des bases arbitraires en Python ?

DDD
Libérer: 2024-12-10 04:49:15
original
261 Les gens l'ont consulté

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

Conversion d'entiers en chaînes dans任意进制

Python permet la conversion sans effort de chaînes en entiers en fonction d'une base spécifiée à l'aide de int( str, base). Cependant, le processus inverse (génération de chaînes à partir d'entiers) nécessite une solution personnalisée.

Une fonction int2base(num, base) est souhaitable, remplissant le critère suivant :

int(int2base(x, b), b) == x
Copier après la connexion

Pour tout entier x et base b pris en charge par int().

Une implémentation simple de cette fonction consiste de :

def numberToBase(n, b):
    if n == 0:
        return [0]
    digits = []
    while n:
        digits.append(int(n % b))
        n //= b
    return digits[::-1]
Copier après la connexion

Cette approche fournit une solution polyvalente qui se convertit en bases arbitraires. Par exemple, convertir un grand nombre en base 577 donnerait le résultat correct :

numberToBase(67854 ** 15 - 102, 577)
Copier après la connexion

Informations clés :

  1. Des fonctions personnalisées sont parfois nécessaires lors de la création -in les fonctions ne prennent pas en charge des opérations spécifiques.
  2. Comprendre le concept de nombres dans n'importe quelle base est crucial pour construire une conversion efficace algorithmes.
  3. La signature et le type de retour de la fonction de conversion reflètent les subtilités du travail avec des bases arbitraires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal