Вопрос задан 17.06.2023 в 12:01. Предмет Информатика. Спрашивает Князев Юрий.

Дано задание: Написать функцию is_prime, принимающую 1 аргумент — число от 0 до 1000, и

возвращающую True, если оно простое, и False - иначе. Это питон. Я написал код: def if_prime(n): if n not in range(2,1000): print('Введите число с диапазона от 2 до 1000:') return n i=2; prime=True while i < sqrt(n): if n%i!=0: i+=1 else: prime=False break n=input("Введите число: ") print(prime) Решил попробовать через цикл, но не могу понять куда вставить return prime ибо выдаёт только команду введите число
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Емельяненко Марк.

Ответ:

def if_prime(n):

   

   if n in range(0, 4):

       return True

   for i in range(2, n//2+1):

       if n%i==0:

           return False

   return True

while True:

   n = -1

   while n not in range(0, 1001):

       n = int(input("Input number between 0 and 1000"))

   print(if_prime(n))

   a = input("Continue???  1 - No, Eny Key - Yes")

   try:

       if int(a)==1:

           break

   except:

       ValueError

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ваш код содержит некоторые ошибки, которые мешают ему работать должным образом. Вам нужно вставить оператор `return prime` после цикла `while`, чтобы функция возвращала значение `True` или `False` в зависимости от того, является ли число простым или нет. Также, вам нужно использовать функцию `math.sqrt()` для вычисления квадратного корня числа `n`.

Вот исправленный код:

```python import math

def is_prime(n): if n not in range(2, 1000): print('Введите число с диапазона от 2 до 1000:') return i = 2 prime = True while i < math.sqrt(n): if n % i != 0: i += 1 else: prime = False break return prime

number = int(input("Введите число: ")) print(is_prime(number)) ```

Теперь функция `is_prime()` должна работать правильно и возвращать `True`, если число является простым, и `False` в противном случае.

Примечание: Ваш код проверяет только числа от 2 до 999. Если вы хотите проверить число 1000, вам нужно изменить условие `range(2, 1000)` на `range(2, 1001)`.

Пожалуйста, попробуйте этот исправленный код и дайте мне знать, если у вас возникнут еще вопросы!

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос