# smallest_prime_divisor.py
#задача #автоматизация #python #pytest
def smallest_prime_divisor(n):# test_smallest_prime_divisor.py
if n == 2:
return 2
for divisor in range(2, int(n ** 0.5) + 1):
if n % divisor == 0:
return divisor
return n
import pytest
from smallest_prime_divisor import smallest_prime_divisor
def test_prime_numbers():
assert smallest_prime_divisor(2) == 2
assert smallest_prime_divisor(3) == 3
assert smallest_prime_divisor(17) == 17
assert smallest_prime_divisor(19) == 19
def test_composite_numbers():
assert smallest_prime_divisor(4) == 2
assert smallest_prime_divisor(9) == 3
assert smallest_prime_divisor(25) == 5
assert smallest_prime_divisor(35) == 5
def test_large_number():
assert smallest_prime_divisor(1000000007) == 1000000007
def test_smallest_prime_divisor_of_1():
assert smallest_prime_divisor(1) == 1
В данной задаче функция smallest_prime_divisor()
принимает на вход целое число и методом перебора находит минимальный делитель. Тесты проверяют правильность работы функции для различных входных данных.#задача #автоматизация #python #pytest