Introducción
En matemáticas, un número primo es un número natural mayor que 1 que no es el producto de dos números naturales más pequeños. Por ejemplo, 5 es primo porque las únicas maneras de escribirlo como un producto, 1 × 5 o 5 × 1, implican a 5 mismo. Sin embargo, 4 no es primo porque es un producto (2 × 2) en el que ambos números son más pequeños que 4. En este desafío, debes escribir una función de Python para comprobar si un número dado es primo o no.
Número es primo
Escribe una función de Python llamada is_prime(n) que tome un entero n como entrada y devuelva True si el número es primo y False en caso contrario. Para resolver este problema, debes seguir estas reglas:
- Devuelve
Falsesi el número es0,1, un número negativo o un múltiplo de2. - Utiliza
all()yrange()para comprobar los números desde3hasta la raíz cuadrada del número dado. - Devuelve
Truesi ninguno de ellos divide al número dado,Falseen caso contrario.
from math import sqrt
def is_prime(n):
if n <= 1 or (n % 2 == 0 and n > 2):
return False
return all(n % i for i in range(3, int(sqrt(n)) + 1, 2))
is_prime(11) ## True
Resumen
En este desafío, aprendiste cómo comprobar si un número dado es primo o no utilizando Python. Utilizaste las funciones all() y range() para comprobar los números desde 3 hasta la raíz cuadrada del número dado. También aprendiste cómo devolver True si ninguno divide al número dado, False en caso contrario.