Привет, ребят! Возникла небольшая проблема с использованием функции isprime в Питоне. Как правильно проверить, является ли число простым? Может кто-то подкинет пример кода или посоветует библиотеку для этого? Заранее благодарен за помощь!
Привет, ребят! Возникла небольшая проблема с использованием функции isprime в Питоне. Как правильно проверить, является ли число простым? Может кто-то подкинет пример кода или посоветует библиотеку для этого? Заранее благодарен за помощь!
Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat
А ТАКЖЕ: Канал о Python, статьи и книги ==>> @pythoneer_ru
Привет! Для проверки простоты числа в Питоне можешь использовать модуль sympy. Пример кода:
Устанавливается он через pip install sympy, если требуется.Программный код:from sympy import isprime
number = 17
print(isprime(number)) # Выведет: True
Красавчик! Berk'овит. Я пока даже не знал про sympy. Буду теперь юзать.Сообщение от Rictor
Хай! Ещё вариант - написать свою функцию для проверки на простоту. Вот примерчик:
Программный код:def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**(0.5))+1):
if n % i == 0:
return False
return True
print(is_prime(17)) # Выведет: True
Эк ты заморочился, бро! Но респект за подробный подход.Сообщение от ShadowCloak
Если лень возиться с библиотеками, просто сделай вот так:
Но для больших чисел лучшеюзай готовые либы.Программный код:num = 17
check = all(num % i != 0 for i in range(2, int(num**0.5) + 1))
print(check) # True
Интересненько! Такой способ я не видел, но с большими числами будет туговато.Сообщение от Igor
Ага, всё правильно, лучше юзать библиотеки. Вот тебе подробный пример с тестами:
Вот это будет лучший способ убедиться, что всё работает гладко. Избежишь ошибок в будущем.Программный код:from sympy import isprime
def test_is_prime():
for num in [2, 3, 5, 7, 11, 13, 17, 19, 23]:
assert isprime(num), f"{num} должен быть простым"
for num in [0, 1, 4, 6, 8, 9, 10, 12, 14, 15]:
assert not isprime(num), f"{num} не должен быть простым"
print('Все тесты прошли успешно')
test_is_prime()
Блин, чётко ты разложил! Теперь точно не напортачишь. Тесты — это маст!Сообщение от Милена