Все простые числа в заданном интервале

Иногда нужно вывести не одно простое число, а сразу все, попадающие в заданный диапазон — например, между 900 и 1000. В этой статье разберём программу, которая делает именно это.

Что нужно знать

Перед изучением примера полезно понимать:

Простым называется натуральное число больше 1, не имеющее делителей, кроме 1 и самого себя. Так, 2, 3, 5, 7 — простые, а 6 — составное, потому что 2 × 3 = 6.

Пример

# Python program to display all the prime numbers within an interval

lower = 900
upper = 1000

print("Prime numbers between", lower, "and", upper, "are:")

for num in range(lower, upper + 1):
   # all prime numbers are greater than 1
   if num > 1:
       for i in range(2, num):
           if (num % i) == 0:
               break
       else:
           print(num)

Вывод

Prime numbers between 900 and 1000 are:
907
911
919
929
937
941
947
953
967
971
977
983
991
997

Как это работает

Границы диапазона задаются переменными lower и upper. Внешний цикл проходит по всем числам интервала с помощью range(lower, upper + 1). Для каждого числа запускается внутренний цикл, который ищет делители от 2 до num - 1.

Здесь используется конструкция for...else: блок else выполняется только тогда, когда из цикла не выходили через break. Поэтому если ни одного делителя не нашлось — число простое, и оно печатается.