jueves, 23 de julio de 2026

Invertir un número en Python

Código del ejercicio: Con ciclo while

num = input("Ingresar número: ")
revertir = 0
valor = int(num)
while valor > 0:
    residuo = valor % 10
    revertir = (revertir * 10) + residuo
    valor = valor // 10
print("El número invertido es: " + str(revertir))

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.
+ --> el operador ( + ) concatena variables de cadena.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
end --> el parámetro end se usa para agregar una cadena a la salida de print() cuando se realiza la impresión de una declaración. Pero, ¿alguna vez se preguntó por qué después de cada declaración de impresión, el cursor se mueve a la siguiente línea? Esto se debe a que la declaración de impresión viene con un valor predeterminado de parámetro final que es '\n'.
len() --> devuelve el número de elementos de un objeto.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
list() --> crea un objeto de lista. Un objeto de lista es una colección ordenada y modificable.
reverse() --> invierte los elementos de la lista.

Explicación del Código:

Código

num = input("Ingresar número: ")
revertir = 0
valor = int(num)

while valor > 0:
    residuo = valor % 10
    revertir = (revertir * 10) + residuo
    valor = valor // 10

print("El número invertido es: " + str(revertir))

Explicación del código

Código Explicación sencilla
num = input("Ingresar número: ") Solicita al usuario que ingrese un número desde el teclado.
revertir = 0 Crea una variable donde se irá formando el número invertido. Empieza en 0.
valor = int(num) Convierte el dato ingresado de texto a número entero para poder realizar operaciones matemáticas.
while valor > 0: Repite el proceso mientras el número sea mayor que cero.
residuo = valor % 10 Obtiene el último dígito del número usando el operador módulo (%).
revertir = (revertir * 10) + residuo Agrega el último dígito al nuevo número invertido. Multiplica por 10 para dejar espacio al siguiente dígito.
valor = valor // 10 Elimina el último dígito del número utilizando la división entera.
print("El número invertido es: " + str(revertir)) Muestra en pantalla el número completamente invertido.
¿Cómo funciona el algoritmo?

Si el usuario ingresa el número 12345, el programa realiza este proceso:
  • Extrae el 5 → Número invertido: 5
  • Extrae el 4 → Número invertido: 54
  • Extrae el 3 → Número invertido: 543
  • Extrae el 2 → Número invertido: 5432
  • Extrae el 1 → Número invertido: 54321
Al finalizar el ciclo, el programa muestra: El número invertido es: 54321

Código del ejercicio: Con ciclo for

num = input("Ingresar número: ")
for i in range(len(num) -1, -1, -1):
    print(num[i], end="")

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.
+ --> el operador ( + ) concatena variables de cadena.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
end --> el parámetro end se usa para agregar una cadena a la salida de print() cuando se realiza la impresión de una declaración. Pero, ¿alguna vez se preguntó por qué después de cada declaración de impresión, el cursor se mueve a la siguiente línea? Esto se debe a que la declaración de impresión viene con un valor predeterminado de parámetro final que es '\n'.
len() --> devuelve el número de elementos de un objeto.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
list() --> crea un objeto de lista. Un objeto de lista es una colección ordenada y modificable.
reverse() --> invierte los elementos de la lista.

Explicación del Código:

Código

num = input("Ingresar número: ")

for i in range(len(num) -1, -1, -1):
    print(num[i], end="")

Explicación del código

Código Función
num = input("Ingresar número: ") Solicita al usuario que escriba un número y lo guarda como texto en la variable num. Se guarda como texto para poder recorrer cada uno de sus dígitos.
for i in range(len(num) -1, -1, -1): Crea un ciclo que recorre el número desde el último dígito hasta el primero. len(num) obtiene la cantidad de caracteres del número y range() genera las posiciones en orden inverso.
print(num[i], end="") Imprime el carácter ubicado en la posición i. El parámetro end="" evita que se haga un salto de línea después de cada impresión, formando así el número invertido.
¿Cómo funciona el programa?

Si el usuario escribe el número 12345, el programa comienza desde el último carácter (5) y continúa hacia el primero, mostrando:
54321
De esta manera, el número queda completamente invertido utilizando un ciclo for que recorre la cadena de atrás hacia adelante.

Código del ejercicio: Otra forma de hacer

num = str(input('Ingresar número: '))
print("".join([i for i in num[::-1]]))

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.
+ --> el operador ( + ) concatena variables de cadena.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
end --> el parámetro end se usa para agregar una cadena a la salida de print() cuando se realiza la impresión de una declaración. Pero, ¿alguna vez se preguntó por qué después de cada declaración de impresión, el cursor se mueve a la siguiente línea? Esto se debe a que la declaración de impresión viene con un valor predeterminado de parámetro final que es '\n'.
len() --> devuelve el número de elementos de un objeto.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
list() --> crea un objeto de lista. Un objeto de lista es una colección ordenada y modificable.
reverse() --> invierte los elementos de la lista.

Explicación del Código:

Este programa solicita un número al usuario, invierte el orden de sus dígitos utilizando las funciones propias de Python y finalmente muestra el resultado en pantalla.

Código

num = str(input('Ingresar número: '))
print("".join([i for i in num[::-1]]))

Explicación del código

Código Explicación
input('Ingresar número: ') Solicita al usuario que escriba un número desde el teclado.
str(...) Convierte el dato ingresado en una cadena de texto para poder manipular cada uno de sus caracteres.
num = str(...) Guarda el número ingresado por el usuario dentro de la variable num.
num[::-1] Invierte completamente el orden de los caracteres de la cadena. Por ejemplo, si el usuario escribe 12345, el resultado será 54321.
[i for i in num[::-1]] Recorre cada carácter del número ya invertido y crea una lista con todos ellos.
"".join(...) Une todos los caracteres de la lista en una sola cadena de texto sin agregar espacios entre ellos.
print(...) Muestra en pantalla el número completamente invertido.

Ejemplo de ejecución

Entrada:

123456

Salida:

654321

El programa recibe el número como una cadena de texto. Luego utiliza num[::-1] para invertir el orden de todos los caracteres. Después, la función join() vuelve a unir esos caracteres formando el número invertido, el cual finalmente se muestra con print().

Código del ejercicio: Otra forma de hacer

num = input("Ingresar número: ")
x = list(str(num))
x.reverse()
print("".join(x))

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.
+ --> el operador ( + ) concatena variables de cadena.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
end --> el parámetro end se usa para agregar una cadena a la salida de print() cuando se realiza la impresión de una declaración. Pero, ¿alguna vez se preguntó por qué después de cada declaración de impresión, el cursor se mueve a la siguiente línea? Esto se debe a que la declaración de impresión viene con un valor predeterminado de parámetro final que es '\n'.
len() --> devuelve el número de elementos de un objeto.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
list() --> crea un objeto de lista. Un objeto de lista es una colección ordenada y modificable.
reverse() --> invierte los elementos de la lista.

Explicación del Código:

num = input("Ingresar número: ")
x = list(str(num))
x.reverse()
print("".join(x))
Código Explicación sencilla
num = input("Ingresar número: ") Solicita al usuario que escriba un número y lo guarda en la variable num. El dato se almacena como texto.
x = list(str(num)) Convierte el número en una lista de caracteres. Por ejemplo, si el usuario escribe 1234, la lista será ['1', '2', '3', '4'].
x.reverse() Invierte el orden de los elementos de la lista. Ahora la lista queda como ['4', '3', '2', '1'].
print("".join(x)) Une todos los caracteres de la lista en una sola cadena de texto, sin espacios entre ellos, y muestra el número invertido en la pantalla.
Resumen:

Este programa pide un número al usuario, convierte cada dígito en un elemento de una lista, utiliza el método reverse() para invertir el orden de los dígitos y finalmente los vuelve a unir con join() para mostrar el número al revés.

No hay comentarios.:

Publicar un comentario

Ingresar tres números A, B y C, mostrar los múltiplos de A menores que B que no sean divisores de C en Python

Código del ejercicio: a = int ( input ( "Ingresar A: " )) b = int ( input ( "Ingresar B: " )) c = int ( inp...

Copyright © Ejercicios de programación. Todos los derechos reservados. ❤️