定义函数判断素数并输出
from math import sqrtdef 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以内的所有素数嘞 陷入了死循环 最后两行,不应该是isprime(i)和printnum(i)吗? 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) qiuyouzhi 发表于 2020-4-22 17:37
最后两行,不应该是isprime(i)和printnum(i)吗?
和括号里是n结果一样的 也是死循环
页:
[1]