sábado, 18 de julio de 2026

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.

No hay comentarios.:

Publicar un comentario

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