У вас уже был кусок кода, который берет число и проверяет, является ли оно простым или нет, тогда вместо того, чтобы использовать его, вы заново изобрели колесо и сломали его в процессе (например, вы повторно использовали i
который вызвал деление на ноль и попытался проверить, равен ли список 2, вместо того, чтобы проверять, равна ли его длина 2).
Используйте функцию для повторного использования рабочего кода с некоторыми улучшениями:
Тебе все равно, сколько цифр делят проверяемый номер.Достаточно того, что одно число делит его, чтобы это число не было простым
Мы можем начать проверку деления с 2, и математически доказано, что этого достаточно, чтобы поднятьсяк корню квадратному из числа
from math import sqrt
def is_prime(n):
for i in range(2, int(sqrt(n)) + 1):
if n % i == 0:
return False
return True
Затем используйте его со списком чисел:
vector= [2, 3, 4, 5, 11, 15, 20]
for n in vector:
if is_prime(n):
print(n, 'is a prime')
else:
print(n, 'is not a prime')
Выходы
2 is a prime
3 is a prime
4 is not a prime
5 is a prime
11 is a prime
15 is not a prime
20 is not a prime