首页 > 解决方案 > 满足特定功能的打印输入

问题描述

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

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()函数来做与上面相同的事情

标签: pythonfunctionprimes

解决方案


将您的功能更改为:

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

推荐阅读