满足特定功能的打印输入

问题描述 投票:1回答:2

所以我定义了一个检查数字是否为质数的函数:

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()函数来进行与上述相同的操作,如何纠正它

python function primes
2个回答
2
投票

将功能更改为:

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

0
投票

[在python中找到质数的方法要好得多。试试看:

import math
def prime(n):
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True
© www.soinside.com 2019 - 2024. All rights reserved.