def prime(number):
for num in range(1,number):
if num > 1:
for i in range (2, num):
if (num%i == 0):
return("not a prime")
else:
return(num)
print(prime(9))
def prime(number):
primes = []
for num in range(1, number + 1):
if num > 1:
for i in range (2, num):
if (num % i == 0):
break
else:
primes.append(num)
return primes
这将给出从2到number的素数。我希望这对你有帮助。你知道吗
按照@jpp的建议,您还可以使用yield,如下所示:
def prime(number):
for num in range(1,number):
if num > 1:
for i in range (2, num):
if (num%i == 0):
break
else:
yield num
for num in prime(20):
print(num)
问题是,当到达
return
语句时,函数执行终止,因此只能得到第一个素数。考虑创建一个列表,在其中添加素数,如下所示:这将给出从2到
number
的素数。我希望这对你有帮助。你知道吗按照@jpp的建议,您还可以使用
yield
,如下所示:相关问题 更多 >
编程相关推荐