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.