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.

Contar la cantidad de dígitos pares e impares que tiene un número natural en Python

Código del ejercicio:

x = int(input("Ingrese un número natural: "))
pares = 0
impares = 0
if x >= 0:
  while x > 0:
    digito = x % 10
    if digito % 2 == 0:
      pares += 1
    else:
      impares += 1
    x = x // 10
  print("La cantidad de digitos pares son:", pares)
  print("La cantidad de digitos impares son:", impares)
else:
  print("Por favor ingresa un número natural")

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.
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.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
isnumeric() --> devuelve True si todos los caracteres son numéricos (0-9), de lo contrario, False.
len() --> devuelve el número de elementos de un objeto.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código en Python

x = int(input("Ingrese un número natural: ")) pares = 0 impares = 0 if x >= 0: while x > 0: digito = x % 10 if digito % 2 == 0: pares += 1 else: impares += 1 x = x // 10 print("La cantidad de dígitos pares son:", pares) print("La cantidad de dígitos impares son:", impares) else: print("Por favor ingresa un número natural")

Explicación simple del código

Código Explicación
x = int(input("Ingrese un número natural: ")) Solicita al usuario un número natural y lo guarda en la variable x.
pares = 0 Crea un contador para llevar la cantidad de dígitos pares.
impares = 0 Crea un contador para llevar la cantidad de dígitos impares.
if x >= 0: Comprueba que el número ingresado sea un número natural (mayor o igual a cero).
while x > 0: Repite el proceso mientras el número tenga dígitos por revisar.
digito = x % 10 Obtiene el último dígito del número usando el operador módulo (%).
if digito % 2 == 0: Verifica si el dígito es par.
pares += 1 Si el dígito es par, aumenta en uno el contador de pares.
else: Si el dígito no es par, significa que es impar.
impares += 1 Aumenta en uno el contador de dígitos impares.
x = x // 10 Elimina el último dígito del número para continuar con el siguiente.
print("La cantidad de dígitos pares son:", pares) Muestra cuántos dígitos pares tiene el número.
print("La cantidad de dígitos impares son:", impares) Muestra cuántos dígitos impares tiene el número.
else: Se ejecuta si el número ingresado es negativo.
print("Por favor ingresa un número natural") Informa al usuario que debe ingresar un número natural.

Resumen del funcionamiento

El programa solicita un número natural. Luego revisa cada uno de sus dígitos comenzando por el último. Si el dígito es par, aumenta el contador de números pares; si es impar, aumenta el contador de números impares. Al finalizar, muestra cuántos dígitos pares e impares tiene el número ingresado. Si el usuario introduce un número negativo, muestra un mensaje indicando que debe ingresar un número natural.

Código del ejercicio: Otra forma de hacer

x = input("Ingrese un número natural: ")
pares = 0
impares = 0
for digito in x:
  if int(digito) % 2 == 0:
    pares += 1
  else:
    impares += 1
print("La cantidad de digitos pares son:", pares)
print("La cantidad de digitos impares son:", impares)

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.
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.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
isnumeric() --> devuelve True si todos los caracteres son numéricos (0-9), de lo contrario, False.
len() --> devuelve el número de elementos de un objeto.
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: ")
pares = 0
impares = 0

for digito in x:
    if int(digito) % 2 == 0:
        pares += 1
    else:
        impares += 1

print("La cantidad de digitos pares son:", pares)
print("La cantidad de digitos impares son:", impares)

Explicación paso a paso

1. Solicitar un número al usuario

x = input("Ingrese un número natural: ")

Se pide al usuario que escriba un número natural. El número se guarda como texto para poder recorrer cada uno de sus dígitos.
2. Crear los contadores

pares = 0
impares = 0

Se crean dos variables:
  • pares: contará cuántos dígitos pares hay.
  • impares: contará cuántos dígitos impares hay.
Al inicio ambas valen 0.
3. Recorrer cada dígito

for digito in x:

El ciclo for recorre uno por uno todos los caracteres del número ingresado. Por ejemplo, si el usuario escribe 48275, el ciclo recorrerá:
  • 4
  • 8
  • 2
  • 7
  • 5
4. Convertir el dígito a número

int(digito)

Cada dígito se convierte de texto a número para poder realizar operaciones matemáticas.
5. Verificar si el dígito es par

if int(digito) % 2 == 0:

Se utiliza el operador % (módulo), que obtiene el residuo de una división entre 2.
  • Si el residuo es 0, el dígito es par.
  • Si el residuo es distinto de 0, el dígito es impar.
6. Aumentar el contador correspondiente

Si el dígito es par:
pares += 1
Se suma uno al contador de dígitos pares. Si el dígito es impar:
impares += 1
Se suma uno al contador de dígitos impares.
7. Mostrar los resultados

print("La cantidad de digitos pares son:", pares)
print("La cantidad de digitos impares son:", impares)
Al finalizar el recorrido, se muestran la cantidad de dígitos pares y la cantidad de dígitos impares que tiene el número ingresado.

Ejemplo de ejecución

Ingrese un número natural: 48275

La cantidad de digitos pares son: 3
La cantidad de digitos impares son: 2

Resumen

  • Se solicita un número natural.
  • Se crean dos contadores: uno para pares y otro para impares.
  • Se recorre cada dígito del número.
  • Cada dígito se convierte a entero.
  • Con el operador % se verifica si es par o impar.
  • Se incrementa el contador correspondiente.
  • Al final se muestran las cantidades de dígitos pares e impares.

Contar la cantidad de dígitos de un número natural en Python

Código del ejercicio:

x = int(input("Ingresar un número natural: "))
c = 0
if 0 <= x < 10:
  print("La cantidad de digitos son: 1")
else:
  while x > 0:
    c += 1
    x = x // 10
  print("La cantidad de digitos son:", c)

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.
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.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
isnumeric() --> devuelve True si todos los caracteres son numéricos (0-9), de lo contrario, False.
len() --> devuelve el número de elementos de un objeto.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Este programa solicita al usuario un número natural y determina cuántos dígitos tiene. Para ello, divide el número entre 10 repetidamente hasta que llegue a cero, contando cuántas veces realiza esa operación.

Código

x = int(input("Ingresar un número natural: "))
c = 0

if 0 <= x < 10:
    print("La cantidad de digitos son: 1")
else:
    while x > 0:
        c += 1
        x = x // 10
    print("La cantidad de digitos son:", c)

Explicación paso a paso

  1. x = int(input("Ingresar un número natural: "))
    Solicita al usuario un número natural y lo convierte en un número entero para poder trabajar con él.
  2. c = 0
    Crea una variable llamada c que servirá como contador de la cantidad de dígitos. Comienza en cero.
  3. if 0 <= x < 10:
    Comprueba si el número tiene un solo dígito, es decir, si está entre 0 y 9.
  4. print("La cantidad de digitos son: 1")
    Si el número tiene un solo dígito, muestra directamente que la cantidad de dígitos es 1.
  5. else:
    Si el número tiene más de un dígito, ejecuta el siguiente bloque de instrucciones.
  6. while x > 0:
    Repite el proceso mientras el número sea mayor que cero.
  7. c += 1
    Cada vez que se ejecuta el ciclo, aumenta el contador en uno porque se ha contado un dígito.
  8. x = x // 10
    Elimina el último dígito del número usando división entera entre 10.
  9. print("La cantidad de digitos son:", c)
    Cuando el número llega a cero, el ciclo termina y se muestra la cantidad total de dígitos contados.

Ejemplo de ejecución

Entrada:

Ingresar un número natural: 54829

Salida:

La cantidad de digitos son: 5

Resumen

El programa cuenta la cantidad de dígitos de un número natural eliminando un dígito en cada repetición mediante la división entera entre 10. Cada vez que elimina un dígito, incrementa un contador. Al finalizar el proceso, el contador indica el número total de dígitos que tenía el número ingresado.

Código del ejercicio: Otra forma de hacer

x = input("Ingresar un número natural: ")
if x.isnumeric():
  print("La cantidad de digitos son: ", len(x))
else:
  print("Por favor ingrese un número natural")

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.
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.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
isnumeric() --> devuelve True si todos los caracteres son numéricos (0-9), de lo contrario, False.
len() --> devuelve el número de elementos de un objeto.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

x = input("Ingresar un número natural: ")

if x.isnumeric():
    print("La cantidad de digitos son: ", len(x))  
else:
    print("Por favor ingrese un número natural")

Explicación del código

1. Solicitar un dato al usuario
x = input("Ingresar un número natural: ")

Se pide al usuario que escriba un número natural. El dato se guarda como una cadena de texto en la variable x.
2. Verificar que el dato sea un número
if x.isnumeric():

El método isnumeric() comprueba que todos los caracteres sean números. Si el usuario escribe únicamente dígitos, la condición es verdadera.
3. Contar los dígitos
len(x)

La función len() cuenta la cantidad de caracteres que tiene la cadena. Como la cadena contiene solo números, el resultado corresponde a la cantidad de dígitos.
4. Mostrar el resultado
print("La cantidad de digitos son: ", len(x))

Se muestra en pantalla la cantidad de dígitos que tiene el número ingresado.
5. Mostrar un mensaje de error
else:
print("Por favor ingrese un número natural")

Si el usuario escribe letras, símbolos o cualquier otro carácter que no sea un número, el programa informa que debe ingresar un número natural.

¿Cómo funciona el programa?

El programa solicita un número natural al usuario y primero verifica que la entrada contenga únicamente números utilizando isnumeric(). Si la entrada es válida, utiliza la función len() para contar cuántos dígitos tiene el número y muestra el resultado. Si la entrada no es un número natural, presenta un mensaje indicando que el dato ingresado no es válido.

Código del ejercicio: Otra forma de hacer

x = input("Ingresar un número natural: ")
c = 0
for digito in x:
  c += 1
print("La cantidad de digitos son:", c)

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.
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.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
isnumeric() --> devuelve True si todos los caracteres son numéricos (0-9), de lo contrario, False.
len() --> devuelve el número de elementos de un objeto.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

x = input("Ingresar un número natural: ")
c = 0
for digito in x:
    c += 1
print("La cantidad de digitos son:", c)

Explicación paso a paso

  • x = input("Ingresar un número natural: ")
    Solicita al usuario que escriba un número natural y lo guarda como una cadena de texto. De esta forma, cada dígito puede recorrerse uno por uno.
  • c = 0
    Crea una variable llamada c que servirá como contador. Comienza en cero porque todavía no se ha contado ningún dígito.
  • for digito in x:
    Recorre cada carácter (cada dígito) que contiene el número ingresado. En cada vuelta del ciclo, la variable digito toma el valor de un dígito diferente.
  • c += 1
    Cada vez que el ciclo encuentra un dígito, aumenta el contador en uno. Al finalizar el recorrido, el contador tendrá la cantidad total de dígitos.
  • print("La cantidad de digitos son:", c)
    Muestra en pantalla la cantidad total de dígitos que tiene el número ingresado por el usuario.
Resumen:
Este programa pide un número natural, recorre cada uno de sus dígitos utilizando un ciclo for, incrementa un contador por cada dígito encontrado y, al finalizar, muestra la cantidad total de dígitos del número.

Determinar si un número es perfecto en Python

Código del ejercicio:

x = int(input("Ingresar número: "))
sumador = 0
for c in range(1, x):
  if x % c == 0:
    sumador += c
if x == sumador:
  print("Es un número perfecto")
else:
  print("No es un número perfecto")

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.
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.
% --> 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.
== --> 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

x = int(input("Ingresar número: "))
sumador = 0

for c in range(1, x):
    if x % c == 0:
        sumador += c

if x == sumador:
    print("Es un número perfecto")
else:
    print("No es un número perfecto")

Explicación paso a paso

Código Explicación sencilla
x = int(input("Ingresar número: ")) Solicita al usuario un número entero y lo guarda en la variable x.
sumador = 0 Crea una variable llamada sumador que almacenará la suma de todos los divisores propios del número.
for c in range(1, x): Recorre todos los números desde 1 hasta x - 1 para comprobar cuáles son divisores del número.
if x % c == 0: Comprueba si c divide exactamente a x. Si el residuo es 0, significa que es un divisor.
sumador += c Si c es divisor, se suma al valor de sumador.
if x == sumador: Compara si la suma de todos los divisores propios es igual al número ingresado.
print("Es un número perfecto") Se ejecuta cuando el número es perfecto.
else: Se ejecuta cuando la condición anterior no se cumple.
print("No es un número perfecto") Muestra un mensaje indicando que el número no es perfecto.
¿Qué es un número perfecto?

Un número perfecto es aquel cuya suma de sus divisores positivos, sin incluir el propio número, es igual a él mismo.

Ejemplo:
  • 6 → divisores: 1, 2 y 3
  • 1 + 2 + 3 = 6
  • Como la suma es igual al número, 6 es un número perfecto.
Otro ejemplo es el número 28, ya que:
  • Divisores: 1, 2, 4, 7 y 14
  • 1 + 2 + 4 + 7 + 14 = 28

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...

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