Как мне найти простое число, чтобы был только один делитель?

Привет.

Есть функция:
def is_prime(random_number):
    number = 0
    for i in range(2, random_number // 2 + 1):
        if random_number % i == 0:
            number = 1
    if number <= 0:
        return True
    else:
        return False


Чтобы при нахождении первого же делителя возвращался True, я правильно понимаю, что просто нужно убрать +1 в условии for i in range(2, random_number // 2):?
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
@AlexSeley
def is_prime(random_number):
number = 0
for i in range(2, random_number // 2 + 1):
if random_number % i == 0:
number = 1
if number <= 0:
return True
Читайте ниже
else:
return False
Мы можем написать exit(0) - Если True, то оно выйдет сразу из кода
Мы можем написать break - Если True, то оно выйдет из функции(цыкла)
Как по мне лучше так:
m = (float(input("Введите ваше число: ")))
number = 0
if m % 2 == 0:
print("Сложное")
return True
exit(0)
for i in range(3, random_number // 2, 2): #Оно начинает с тройки(с её учётом) и идёт дальше через двойку потому что мы пере циклом проверили или число делится на 2 и так будет в 2 раза быстрее потому что оно не проходит по числам которые делятся на 2.
if m % i == 0:
print("Сложное")
exit(0)
else:
print("Простео")
exit(0)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы