贴在墙上的人 发表于 2021-3-27 13:26:46

判断参数是不是质数

def isprime(n):
    if n==1:
      return True
    elif n==2:
      return False
    elif n>2:
      for i in (2,n):
            s=n%i
            if s==0:
                return False
            break
      else:
            return True


为什么在输入isprime(5)没有return True,不是有把循环结束后加else语句的用法吗
如:
for s in "py":
    print(s)
else:
    print("complete")

执行结果:
p
y
complete

贴在墙上的人 发表于 2021-3-27 13:38:59

没事了 我忘了加range

贴在墙上的人 发表于 2021-3-27 13:39:28

{:10_247:}

小伤口 发表于 2021-3-27 13:40:17

def isprime(n):
    if n==1:
      return True
    elif n==2:
      return False
    elif n>2:
      for i in (2,n):
            s=n%i
            if s==0:
                return False
                break
            else:
                return True

是这样吗{:10_257:}

贴在墙上的人 发表于 2021-3-27 13:41:53

def isprime(n):
    if n==1:
      return True
    elif n==2:
      return False
    elif n>2:
      for i in range(2,n):
            s=n%i
            if s==0:
                return False
                break
      else:
            return True
这样也可以

贴在墙上的人 发表于 2021-3-27 13:44:40

贴在墙上的人 发表于 2021-3-27 13:38
没事了 我忘了加range

还有break的位置错了

小伤口 发表于 2021-3-27 13:44:59

贴在墙上的人 发表于 2021-3-27 13:41
def isprime(n):
    if n==1:
      return True


{:10_275:}

小伤口 发表于 2021-3-27 13:46:16

贴在墙上的人 发表于 2021-3-27 13:44
还有break的位置错了

既然解决了
给自己设置已解决吧~{:10_323:}
页: [1]
查看完整版本: 判断参数是不是质数