domingo, 19 de julio de 2026

Eliminar un carácter de una cadena en Python

Código del ejercicio:

s = input("Ingrese un texto: ")
e = input("Ingrese un carácter a eliminar: ")
aux = ""
i = 0
sw = 0
while i < len(s):
    if s[i] == e and sw == 0:
        sw = 1
    else:
        aux += s[i]
        sw = 0
    i += 1
print(aux)

Definición de los códigos del ejercicio:

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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
len() --> devuelve el número de elementos de un objeto.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
and --> devuelve True si ambos operandos son verdaderos.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Código del ejercicio

s = input("Ingrese un texto: ")
e = input("Ingrese un carácter a eliminar: ")
aux = ""
i = 0
sw = 0

while i < len(s):
    if s[i] == e and sw == 0:
        sw = 1
    else:
        aux += s[i]
        sw = 0
    i += 1

print(aux)

Explicación paso a paso

Código Explicación sencilla
s = input("Ingrese un texto: ") Solicita al usuario que escriba un texto y lo guarda en la variable s.
e = input("Ingrese un carácter a eliminar: ") Pide el carácter que se desea eliminar del texto.
aux = "" Crea una cadena vacía donde se irá formando el nuevo texto sin el carácter eliminado.
i = 0 Inicializa una variable que servirá como posición para recorrer el texto desde el primer carácter.
sw = 0 Crea una bandera (interruptor) que indica si el carácter encontrado ya fue eliminado. Inicialmente vale 0, lo que significa que todavía no se ha eliminado ninguno.
while i < len(s): Recorre toda la cadena mientras la posición i sea menor que la cantidad de caracteres del texto.
if s[i] == e and sw == 0: Comprueba si el carácter actual es igual al que se desea eliminar y además verifica que todavía no se haya eliminado uno anteriormente.
sw = 1 Si se cumple la condición, no copia ese carácter al nuevo texto y cambia la bandera a 1 indicando que ya eliminó la primera coincidencia.
else: Si el carácter es diferente o ya se eliminó una coincidencia anteriormente, ejecuta el bloque siguiente.
aux += s[i] Agrega el carácter actual al nuevo texto almacenado en aux.
sw = 0 Reinicia la bandera para que, si más adelante aparece otra coincidencia separada, también pueda eliminar la primera de esa nueva secuencia.
i += 1 Avanza a la siguiente posición del texto.
print(aux) Muestra el nuevo texto con el carácter eliminado.

¿Qué hace este programa?

Este programa solicita un texto y un carácter para eliminar. Luego recorre la cadena carácter por carácter y construye una nueva cadena. Cuando encuentra el carácter indicado por primera vez, lo omite (no lo copia). Finalmente, muestra el texto resultante con ese carácter eliminado.

Ejemplo:

Ingrese un texto: programacion
Ingrese un carácter a eliminar: a

Salida:
programcion

En este ejemplo, el programa elimina la primera letra "a" encontrada y muestra el resto del texto sin modificar.

Media pirámide de números en Python

Ejemplo: si ingresamos el número 4, nos dibujara media pirámide de números de 4 filas y columnas.

1
12
123
1234

Código del ejercicio:

n = int(input("Ingrese un número: "))
c_str=''.join([str(i) for i in range(1, n + 1)])
for e in c_str:
    print(c_str[:int(e)])

Definición de los códigos del ejercicio:

def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
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.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Este programa solicita un número al usuario y construye una media pirámide utilizando los números consecutivos desde el 1 hasta el número ingresado. Para ello crea una cadena con todos los números y luego imprime una parte de esa cadena en cada línea.

Código

n = int(input("Ingrese un número: "))
c_str=''.join([str(i) for i in range(1, n + 1)])
for e in c_str:
    print(c_str[:int(e)])

Explicación del código

  • n = int(input("Ingrese un número: "))

    Solicita al usuario que escriba un número.
    La función input() recibe el dato como texto y int() lo convierte en un número entero para poder utilizarlo en el programa.
  • c_str=''.join([str(i) for i in range(1, n + 1)])

    Esta línea crea una cadena con todos los números desde 1 hasta el número ingresado.

    Su funcionamiento es el siguiente:
    • range(1, n + 1) genera los números desde 1 hasta n.
    • str(i) convierte cada número en texto.
    • La comprensión de listas [str(i) for i in range(...)] crea una lista de cadenas.
    • ''.join(...) une todos los elementos sin dejar espacios.
    Ejemplo:
    Si el usuario ingresa 5, el resultado será:
    12345
    
  • for e in c_str:

    Recorre cada carácter de la cadena creada anteriormente. Si la cadena es:
    12345
    
    Entonces el ciclo recorrerá:
    1
    2
    3
    4
    5
    
    Cada número será almacenado temporalmente en la variable e.
  • print(c_str[:int(e)])

    Imprime únicamente una parte de la cadena.
    • int(e) convierte el carácter en un número.
    • c_str[:int(e)] obtiene los primeros caracteres de la cadena.
    Por ejemplo:
    Valor de e Resultado
    1 1
    2 12
    3 123
    4 1234
    5 12345

Ejemplo de ejecución

Si el usuario escribe:

5

La salida será:

1
12
123
1234
12345
Resumen:
  1. Se solicita un número al usuario.
  2. Se crea una cadena con todos los números desde 1 hasta ese valor.
  3. Se recorre cada carácter de la cadena.
  4. En cada recorrido se imprime una parte de la cadena cada vez más grande.
  5. El resultado final es una media pirámide de números.

Código del ejercicio: Otra forma de hacer

def trian_num(n):
    num = ''
    for i in range(1, n + 1):
        num += str(i)
        print(num)
trian_num(4)

Definición de los códigos del ejercicio:

def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
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.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Código

def trian_num(n):
    num = ''
    for i in range(1, n + 1):
        num += str(i)
        print(num)

trian_num(4)

Explicación del código

  • def trian_num(n):
    Se crea una función llamada trian_num que recibe un número n. Este número indica cuántas filas tendrá la media pirámide.
  • num = ''
    Se crea una cadena de texto vacía llamada num. Aquí se irán agregando los números uno por uno.
  • for i in range(1, n + 1):
    Este ciclo repite el proceso desde el número 1 hasta n. En cada repetición se agrega un nuevo número a la pirámide.
  • num += str(i)
    Convierte el número i en texto y lo añade al final de la variable num. De esta forma la cadena va creciendo en cada vuelta del ciclo.
  • print(num)
    Muestra el contenido actual de num. Como la cadena aumenta en cada iteración, se forma la media pirámide de números.
  • trian_num(4)
    Se llama a la función indicando que la pirámide tendrá 4 filas.

Resultado del programa

1
12
123
1234
¿Cómo funciona el programa?

El programa comienza con una cadena vacía. Luego, mediante un ciclo for, va agregando un número nuevo en cada repetición y muestra el resultado inmediatamente. Gracias a esto, cada línea contiene todos los números anteriores más el nuevo número agregado, formando una media pirámide de números.

Calcular la suma y producto de cinco números en Python

Código del ejercicio:

numero1 = int(input("Ingrese el primer número "))
numero2 = int(input("Ingrese el segundo número "))
numero3 = int(input("Ingrese el tercer número "))
numero4 = int(input("Ingrese el cuarto número "))
numero5 = int(input("Ingrese el quinto número "))
suma = numero1 + numero2 + numero3 + numero4 + numero5
producto = numero1 * numero2 * numero3 * numero4 * numero5
print("La suma es:", suma)
print("El producto es:", producto)

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.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Este programa solicita al usuario cinco números enteros. Después calcula la suma de todos los números y también su producto (multiplicación). Finalmente muestra ambos resultados en pantalla.

Código

numero1 = int(input("Ingrese el primer número ")) numero2 = int(input("Ingrese el segundo número ")) numero3 = int(input("Ingrese el tercer número ")) numero4 = int(input("Ingrese el cuarto número ")) numero5 = int(input("Ingrese el quinto número ")) suma = numero1 + numero2 + numero3 + numero4 + numero5 producto = numero1 * numero2 * numero3 * numero4 * numero5 print("La suma es:", suma) print("El producto es:", producto)

Explicación del código

Código Explicación sencilla
numero1 = int(input("Ingrese el primer número ")) Solicita al usuario el primer número y lo convierte en un número entero para poder realizar operaciones matemáticas.
numero2 = int(input("Ingrese el segundo número ")) Pide el segundo número y lo guarda en la variable numero2.
numero3 = int(input("Ingrese el tercer número ")) Solicita el tercer número y lo almacena en la variable numero3.
numero4 = int(input("Ingrese el cuarto número ")) Pide el cuarto número y lo guarda en numero4.
numero5 = int(input("Ingrese el quinto número ")) Solicita el quinto número y lo almacena en numero5.
suma = numero1 + numero2 + numero3 + numero4 + numero5 Suma los cinco números ingresados por el usuario y guarda el resultado en la variable suma.
producto = numero1 * numero2 * numero3 * numero4 * numero5 Multiplica los cinco números entre sí y almacena el resultado en la variable producto.
print("La suma es:", suma) Muestra en pantalla el resultado de la suma.
print("El producto es:", producto) Muestra en pantalla el resultado de la multiplicación de los cinco números.
Resumen: El programa primero solicita cinco números al usuario. Luego realiza dos operaciones matemáticas: la suma de todos los números y el producto de todos ellos. Finalmente muestra ambos resultados en la consola.

sábado, 18 de julio de 2026

Crear una función para multiplicar todos los elementos de una lista por dos en Python

Código del ejercicio:

def multiplicar_valores(lista):
  for posicion, elemento in enumerate(lista):
    lista[posicion] *= 2
lista = [1,2,3,4,5]
print("Lista:", lista)
multiplicar_valores(lista)
print("Lista multiplicado por dos:", lista)

Definición de los códigos del ejercicio:

def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
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.
*= --> el operador ( *= ) multiplica a la variable del lado izquierdo el valor del lado derecho.
enumerate() --> agrega un contador a un iterable y lo devuelve en forma de objeto de enumeración.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

def multiplicar_valores(lista): for posicion, elemento in enumerate(lista): lista[posicion] *= 2 lista = [1,2,3,4,5] print("Lista:", lista) multiplicar_valores(lista) print("Lista multiplicado por dos:", lista)

Explicación paso a paso

  • def multiplicar_valores(lista):
    Se crea una función llamada multiplicar_valores que recibe una lista como parámetro. Su objetivo es multiplicar cada elemento de la lista por 2.
  • for posicion, elemento in enumerate(lista):
    Se recorre la lista utilizando enumerate(), que devuelve dos valores en cada recorrido:
    • posicion: la ubicación del elemento dentro de la lista.
    • elemento: el valor almacenado en esa posición.
  • lista[posicion] *= 2
    Se multiplica el valor que está en la posición actual por 2 y se guarda nuevamente en la misma posición. Así, la lista original se modifica directamente.
  • lista = [1,2,3,4,5]
    Se crea una lista con cinco números enteros.
  • print("Lista:", lista)
    Muestra la lista original antes de realizar cualquier cambio.
  • multiplicar_valores(lista)
    Se llama a la función y se le envía la lista para que multiplique todos sus elementos por 2.
  • print("Lista multiplicado por dos:", lista)
    Se imprime la lista después de que todos sus elementos fueron multiplicados por 2.

Resultado del ejemplo

Lista: [1, 2, 3, 4, 5] Lista multiplicado por dos: [2, 4, 6, 8, 10]

Cada número de la lista fue multiplicado por 2, por lo que los valores originales cambiaron de la siguiente manera:

  • 1 → 2
  • 2 → 4
  • 3 → 6
  • 4 → 8
  • 5 → 10

Resumen

Este programa define una función que recibe una lista y recorre todos sus elementos utilizando enumerate(). Gracias a la posición de cada elemento, reemplaza cada valor por su doble. Finalmente, muestra la lista antes y después de la modificación para comprobar que todos los elementos fueron multiplicados por dos.

Generar los números primos hasta N número en Python

Código del ejercicio:

N = int(input("Ingresar número: "))
for numero in range(2, N + 1):
  c = 0
  for divisor in range(1, numero + 1):
    if numero % divisor == 0:
      c += 1
  if c <= 2:
    print(numero, 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.
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.
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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
-= --> el operador de asignación de resta ( -= ) resta el valor del operando derecho de una variable y asigna el resultado a la variable.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.
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'.

Explicación del Código:

Este programa solicita un número N y muestra todos los números primos desde 2 hasta ese valor. Un número primo es aquel que solamente tiene dos divisores: el 1 y él mismo.

Código

N = int(input("Ingresar número: "))
for numero in range(2, N + 1):
    c = 0
    for divisor in range(1, numero + 1):  
        if numero % divisor == 0:
            c += 1
    if c <= 2:
        print(numero, end=",")

Explicación línea por línea

  • N = int(input("Ingresar número: "))
    Pide al usuario que ingrese un número entero. Ese número será el límite hasta donde se buscarán los números primos.
  • for numero in range(2, N + 1):
    Recorre todos los números desde 2 hasta N. Cada uno será analizado para comprobar si es primo.
  • c = 0
    Inicializa un contador llamado c, que servirá para contar cuántos divisores tiene el número que se está evaluando.
  • for divisor in range(1, numero + 1):
    Recorre todos los posibles divisores del número, desde 1 hasta el mismo número.
  • if numero % divisor == 0:
    Comprueba si el número es divisible exactamente entre ese divisor. Si el residuo es cero, significa que sí es un divisor.
  • c += 1
    Si encuentra un divisor, aumenta el contador en uno.
  • if c <= 2:
    Cuando termina de contar los divisores, verifica si el número tiene solamente dos divisores (1 y él mismo). Si es así, el número es primo.
  • print(numero, end=",")
    Muestra el número primo encontrado y utiliza end="," para imprimir todos los resultados en una misma línea separados por comas.
Resumen del funcionamiento:

1. El usuario ingresa un número N.
2. El programa revisa cada número desde 2 hasta N.
3. Cuenta cuántos divisores tiene cada número.
4. Si solo tiene dos divisores, significa que es un número primo.
5. Finalmente, imprime todos los números primos encontrados.

Código del ejercicio: Otra forma de hacer

n = int(input("Ingresar número: "))
num = 0
while n > 0:
    num += 1
    x = 1
    contador = 0
    while x <= num:
        if num % x == 0:
            contador += 1
        x += 1
    if contador == 2:
        print(num, end=',')
        n -= 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.
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.
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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
-= --> el operador de asignación de resta ( -= ) resta el valor del operando derecho de una variable y asigna el resultado a la variable.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.
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'.

Explicación del Código:

Este programa solicita al usuario la cantidad de números primos que desea generar. Luego comienza a evaluar los números naturales uno por uno. Cada número es revisado para saber cuántos divisores tiene. Si únicamente posee dos divisores (1 y él mismo), se considera un número primo, se muestra en pantalla y se continúa hasta completar la cantidad solicitada.

Código Explicación
n = int(input("Ingresar número: ")) Solicita al usuario la cantidad de números primos que desea generar.
num = 0 Inicializa la variable que almacenará el número que será evaluado.
while n > 0: Repite el proceso mientras todavía falten números primos por encontrar.
num += 1 Aumenta en uno el número que será comprobado.
x = 1 Inicializa el divisor con el que comenzará la comprobación.
contador = 0 Guarda la cantidad de divisores exactos que tiene el número.
while x <= num: Recorre todos los divisores posibles desde 1 hasta el número actual.
if num % x == 0: Comprueba si el número es divisible exactamente entre el divisor actual.
contador += 1 Si la división es exacta, incrementa el contador de divisores.
x += 1 Pasa al siguiente divisor para continuar la comprobación.
if contador == 2: Verifica si el número tiene exactamente dos divisores. Si es así, el número es primo.
print(num, end=',') Muestra el número primo encontrado, separándolo por comas.
n -= 1 Disminuye en uno la cantidad de números primos que faltan por generar.

Resumen del algoritmo

  1. El usuario indica cuántos números primos desea obtener.
  2. El programa comienza revisando los números desde el 1 en adelante.
  3. Para cada número cuenta cuántos divisores tiene.
  4. Si el número tiene únicamente dos divisores (1 y él mismo), se considera primo.
  5. El número primo se imprime en pantalla.
  6. El proceso continúa hasta generar la cantidad de números primos solicitada.

Ingresar 3 dígitos y mostrar el mayor dígito hasta el menor en Python

Código del ejercicio:

a = int(input("Ingrese el primer dígito: "))
b = int(input("Ingrese el segundo dígito: "))
c = int(input("Ingrese el tercer dígito: "))
numero = None
if a >= b and b >= c:
  numero = a * 100 + b * 10 + c
elif b >= a and a >= c:
  numero = b * 100 + a * 10 + c
elif c >= a and a >= b:
  numero = c * 100 + a * 10 + b
elif a >= c and c >= b:
  numero = a * 100 + c * 10 + b
elif b >= c and c >= a:
  numero = b * 100 + c * 10 + a
elif c >= b and b >= a:
  numero = c * 100 + b * 10 + a
print("Resultado:", numero)

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.
None --> se utiliza para definir un valor nulo o ningún valor.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
elif --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
>= --> el operador mayor que o igual ( >= ) devuelve true si el operando izquierdo es mayor o igual que el operando derecho, y en false caso contrario.
and --> devuelve True si ambos operandos son verdaderos.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código Explicación
a = int(input("Ingrese el primer dígito: ")) Solicita al usuario el primer dígito, lo convierte a un número entero y lo guarda en la variable a.
b = int(input("Ingrese el segundo dígito: ")) Solicita el segundo dígito y lo almacena en la variable b.
c = int(input("Ingrese el tercer dígito: ")) Solicita el tercer dígito y lo guarda en la variable c.
numero = None Crea una variable llamada numero donde posteriormente se almacenará el resultado.
if a >= b and b >= c: Comprueba si el primer dígito es el mayor, el segundo es el siguiente y el tercero es el menor.
numero = a * 100 + b * 10 + c Forma un número de tres cifras colocando los dígitos en orden de mayor a menor.
elif b >= a and a >= c: Verifica si el segundo dígito es el mayor, seguido del primero y luego el tercero.
numero = b * 100 + a * 10 + c Construye el número colocando primero el mayor, después el siguiente y finalmente el menor.
elif c >= a and a >= b: Comprueba si el tercer dígito es el mayor, el primero el segundo mayor y el segundo el menor.
numero = c * 100 + a * 10 + b Forma el número respetando ese orden.
elif a >= c and c >= b: Verifica si el primer dígito es el mayor, el tercero el segundo mayor y el segundo el menor.
numero = a * 100 + c * 10 + b Construye el número con los dígitos ordenados correctamente.
elif b >= c and c >= a: Comprueba si el segundo dígito es el mayor, el tercero el siguiente y el primero el menor.
numero = b * 100 + c * 10 + a Genera el número colocando los dígitos del mayor al menor.
elif c >= b and b >= a: Verifica si el tercer dígito es el mayor, el segundo el siguiente y el primero el menor.
numero = c * 100 + b * 10 + a Forma el número utilizando ese orden.
print("Resultado:", numero) Muestra en pantalla el número formado con los tres dígitos ordenados desde el mayor hasta el menor.
Resumen: El programa solicita tres dígitos al usuario y compara todas las posibles combinaciones mediante estructuras if y elif. Una vez identifica cuál es el mayor, cuál ocupa la posición intermedia y cuál es el menor, construye un número de tres cifras ordenado de mayor a menor y finalmente lo muestra en pantalla.

martes, 14 de julio de 2026

Sumar todos los dígitos de un número natural en Python

Código del ejercicio:

x = int(input("Ingrese un número natural: "))
sumador = 0
while(x > 0):
  digito = x % 10
  sumador += digito
  x = x // 10
print("La suma es:", sumador)

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.
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.
> --> 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.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
// --> 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.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
append() --> agrega un elemento al final de la lista.
sum() --> devuelve un número, la suma de todos los elementos en un iterable.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

x = int(input("Ingrese un número natural: "))
sumador = 0
while(x > 0):
    digito = x % 10
    sumador += digito
    x = x // 10
print("La suma es:", sumador)

Explicación del código

Código Explicación sencilla
x = int(input("Ingrese un número natural: ")) Solicita al usuario un número natural y lo convierte en un número entero para poder realizar operaciones matemáticas.
sumador = 0 Crea una variable llamada sumador que almacenará la suma de todos los dígitos. Comienza en cero.
while(x > 0): El ciclo se repite mientras el número sea mayor que cero. En cada repetición se procesa un dígito.
digito = x % 10 Obtiene el último dígito del número usando el operador módulo (%).
sumador += digito Suma el dígito obtenido al valor almacenado en sumador.
x = x // 10 Elimina el último dígito del número mediante la división entera, para continuar con el siguiente dígito.
print("La suma es:", sumador) Cuando termina el ciclo, muestra la suma total de todos los dígitos del número ingresado.

¿Cómo funciona?

Si el usuario ingresa el número 5834, el programa realiza el siguiente proceso:

  • Obtiene el 4 y lo suma.
  • Obtiene el 3 y lo suma.
  • Obtiene el 8 y lo suma.
  • Obtiene el 5 y lo suma.
  • La suma final es 20.
Resumen:
Este programa recorre cada dígito del número de derecha a izquierda utilizando un ciclo while. En cada vuelta obtiene el último dígito, lo agrega a una variable acumuladora y elimina ese dígito del número. Al finalizar, muestra la suma total de todos los dígitos.

Código del ejercicio: Otra forma de hacer

x = input("Ingrese un número natural: ")
lista = []
for digito in x:
  lista.append(int(digito))
print("La suma es:", sum(lista))

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.
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.
> --> 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.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
// --> 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.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
append() --> agrega un elemento al final de la lista.
sum() --> devuelve un número, la suma de todos los elementos en un iterable.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

x = input("Ingrese un número natural: ")
lista = []
for digito in x:
    lista.append(int(digito))
print("La suma es:", sum(lista))

Explicación paso a paso

Código Explicación sencilla
x = input("Ingrese un número natural: ") Solicita al usuario que ingrese un número y lo guarda como una cadena de texto para poder recorrer cada uno de sus dígitos.
lista = [] Crea una lista vacía donde se almacenarán los dígitos del número.
for digito in x: Recorre uno por uno los caracteres (dígitos) que forman el número ingresado.
lista.append(int(digito)) Convierte cada dígito de texto en un número entero y lo agrega a la lista.
print("La suma es:", sum(lista)) sum(lista) suma todos los números almacenados en la lista y muestra el resultado en pantalla.

¿Cómo funciona?

Si el usuario escribe el número 4837, el programa realiza lo siguiente:

  1. Guarda el número como texto: "4837".
  2. Recorre cada dígito: 4, 8, 3 y 7.
  3. Los convierte en números y los guarda en la lista:
    [4, 8, 3, 7]
  4. La función sum() suma todos los elementos:
    4 + 8 + 3 + 7 = 22
  5. Finalmente muestra:
    La suma es: 22

Resumen

Este programa solicita un número natural, recorre cada uno de sus dígitos, los convierte en números enteros y los guarda en una lista. Finalmente, utiliza la función sum() para sumar todos los elementos de la lista y mostrar la suma total de los dígitos.

Código del ejercicio: Otra forma de hacer

x = input("Ingrese un número natural: ")
sumador = 0
for digito in x:
  sumador += int(digito)
print("La suma es:", sumador)

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.
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.
> --> 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.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
// --> 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.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
append() --> agrega un elemento al final de la lista.
sum() --> devuelve un número, la suma de todos los elementos en un iterable.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código Explicación
x = input("Ingrese un número natural: ") Solicita al usuario que ingrese un número natural y lo guarda como una cadena de texto para poder recorrer cada uno de sus dígitos.
sumador = 0 Crea una variable llamada sumador con el valor inicial de 0. En esta variable se almacenará la suma de todos los dígitos.
for digito in x: Recorre uno por uno todos los dígitos que forman el número ingresado.
sumador += int(digito) Convierte cada dígito de texto a un número entero utilizando int() y lo suma al valor almacenado en sumador.
print("La suma es:", sumador) Muestra en pantalla la suma total de todos los dígitos del número ingresado.

Eliminar un carácter de una cadena en Python

Código del ejercicio: s = input ( "Ingrese un texto: " ) e = input ( "Ingrese un carácter a eliminar: " ) ...

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