帅哥一起吃火锅 发表于 2020-4-22 17:32:33

定义函数判断素数并输出

from math import sqrt
def isprime(n):
    if n==1:
      return False
    x=int(sqrt(n))
    for i in range(2,x+1):
      if n%i==0:
            return False
    return True
def printnum(n):
    for i in range(2,n+1):
      if isprime(i):
            print(i,end=" ")
n=eval(input())
for i in range(2,n):
    isprime(n)
    printnum(n)

例如输入100 为什么会一直重复打印100以内的所有素数嘞 陷入了死循环

qiuyouzhi 发表于 2020-4-22 17:37:28

最后两行,不应该是isprime(i)和printnum(i)吗?

sunrise085 发表于 2020-4-22 17:39:24

from math import sqrt
def isprime(n):
    if n==1:
      return False
    x=int(sqrt(n))
    for i in range(2,x+1):
      if n%i==0:
            return False
    return True
def printnum(n):
    for i in range(2,n+1):
      if isprime(i):
            print(i,end=" ")

n=eval(input())
printnum(n)

帅哥一起吃火锅 发表于 2020-4-22 17:39:32

qiuyouzhi 发表于 2020-4-22 17:37
最后两行,不应该是isprime(i)和printnum(i)吗?

和括号里是n结果一样的 也是死循环
页: [1]
查看完整版本: 定义函数判断素数并输出