Я попытался создать программу, которая набирает N чисел и решает, является ли это число простым числом.(Должны использовать функции) я написал это: - PullRequest
0 голосов
/ 25 апреля 2018
x = int(input())
for i in range(x) :
  def isPrime(n):
    a = isPrime(int(input()))
    if n==2 or n==3: return True
    if n%2==0 or n<2: return False
    for i in range(3,int(n**0.5)+1,2):   
      if n%i==0:
        return False    
      else :
        return True
    if False :
      print("NO")
    else :
      print("YES")

Я пробовал этот код, но он ничего не показывает. Пожалуйста, помогите мне с этим

1 Ответ

0 голосов
/ 25 апреля 2018

Вы возвращаетесь в цикл for, но не проверяете возвращаемое значение, которое храните в a в своем последнем выражении if.

Вот что вы могли бы сделать:

x = int(input())
for i in range(x) :
  def isPrime(n):
    a = isPrime(int(input()))
    if n==2 or n==3: return True
    if n%2==0 or n<2: return False
    for i in range(3,int(n**0.5)+1,2):   
      if n%i==0:
        return False    
      else :
        return True
    #Here you should compare a, just checking "if false" won't do anything
    if a == False :
      print("NO")
    else :
      print("YES")
...