【问题标题】:I tried to make a program that type N numbers and decide if that number is a prime . (Must use functions) I wrote this :我试图制作一个输入 N 个数字并确定该数字是否为素数的程序。 (必须使用函数)我写了这个:
【发布时间】:2018-04-25 08:41:25
【问题描述】:
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")

我尝试了该代码,但它没有显示任何内容。请帮我解决这个问题

【问题讨论】:

    标签: python function python-3.6 primes


    【解决方案1】:

    您在 for 循环内返回,但您没有在最后一个 if 语句中检查存储在 a 中的返回值。

    你可以这样做:

    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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-28
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 2015-01-22
      • 2022-07-18
      相关资源
      最近更新 更多