满足特定功能的打印输入



所以我定义了一个函数来检查一个数字是否素数:

def prime(num):
if num > 1:
for i in range(2, num // 2):
if num % i == 0:
print(False)
break
else:
print(True)
else:
print(False)     

它将返回True或False。我需要在我的程序中使用此函数。用途如下:

for i in range(0,45): #sample
if prime(i) == True:
print(i)

它所做的是以真/假的形式打印输出,但我需要的是数字本身

这是怎么回事。我如何纠正它,因为我必须使用prime()函数来做与上面相同的事情

将函数更改为:

def prime(num):
if num > 1:
for i in range(2, (num // 2)+1):
if num % i == 0:
return False
else:
return True
else:
return False

在python中有比这更好的方法来查找素数。试试这个:

import math
def prime(n):
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True

最新更新