Tutoriales

Calcula si un número es primo en Python

Uno de los problemas que propongo a mis alumnos cuando están aprendiendo bucles en un lenguaje de programación es calcular si un número es primo o no.

Aquí os dejo el enunciado del problema y una propuesta de solución en Python. Espero que os sirva tanto si es para la enseñanza como para el aprendizaje.

Problema:

Imprime en pantalla si un entero dado es primo o no. Un número primo es un entero mayor que 1 que solo se puede dividir por 1 y por sí mismo.

Solución propuesta (didáctico):

import sys

a = int(sys.argv[1])
es_primo = False

if a > 1:
    es_primo = True
    for i in range(2, a):
        if a % i == 0:
            es_primo = False

print(es_primo)

Solución propuesta (eficiente):

import sys

a = int(sys.argv[1])
es_primo = False

if a > 1:
    es_primo = True
    if a > 2 and a % 2 == 0:
        es_primo = False
    else:
        for i in range(3, a, 2):
            if a % i == 0:
                es_primo = False
                break

print(es_primo)
Manuel Ignacio López Quintero

Doctor en Ingeniería Informática especializado en Sistemas Inteligentes y Visión Artificial. Profesor y coadministrador de Linux Hispano. Para más información o para contactar con él visita su página oficial: Manuel Ignacio López Quintero.

Compartir
Publicado por
Manuel Ignacio López Quintero

Entradas recientes

DeepSeek

2 días hace

Contacto

1 semana hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace