python - 满足特定功能的打印输入
问题描述
所以我定义了一个函数来检查一个数字是否是素数:
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