Está en la página 1de 1

def convertir_base(n, b):

"""
Convierte el n�mero n a su representaci�n en base b.
"""
if n < b:
return str(n)
else:
return convertir_base(n // b, b) + str(n % b)

# Leer el valor de n y b desde el usuario


n = int(input("Ingrese un entero positivo: "))
b = int(input("Ingrese un entero positivo menor que 10: "))

# Convertir n a su representaci�n en base b


if b < 2 or b > 9:
print("El valor de b debe ser un entero positivo menor que 10.")
else:
resultado = convertir_base(n, b)
print(f"La representaci�n de {n} en base {b} es {resultado}.")

Explicaci�n:

1. La l�nea 1 define una funci�n llamada convertir_base que toma dos argumentos, n
y b.
2. La l�nea 3 es una cadena de documentaci�n que explica brevemente qu� hace la
funci�n.
3. El bloque if/else de las l�neas 4 a 6 comprueba si n es menor que b. Si es as�,
entonces n es la �nica cifra en la representaci�n de n en base b, por lo que se
devuelve str(n).
4. Si n no es menor que b, entonces se llama recursivamente a la funci�n
convertir_base con los argumentos n // b y b. La divisi�n de enteros n // b elimina
el �ltimo d�gito de n, mientras que el operador de m�dulo n % b obtiene el �ltimo
d�gito. Concatenando la representaci�n en base b del cociente y del resto, se
obtiene la representaci�n en base b completa de n.
5. Las l�neas 8 y 9 leen los valores de n y b desde el usuario.
6. El bloque if/else de las l�neas 11 a 14 comprueba si b est� dentro del rango
v�lido (es decir, entre 2 y 9, inclusive). Si b est� fuera de este rango, se
muestra un mensaje de error. Si b est� dentro del rango v�lido, se llama a la
funci�n convertir_base con los argumentos n y b, y se guarda el resultado en la
variable resultado.
7. Finalmente, la l�nea 15 muestra el resultado utilizando la funci�n print,
interpolando las variables n, b y resultado dentro de una cadena de texto.

También podría gustarte