根据另一个函数的条件将数字添加到列表中

2024-04-19 01:46:29 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我写了一个函数来检查一个数是否是素数

def prime_checker(prime):
    limit = int(math.sqrt(prime))
    x = 2
    while x <= limit:
        if prime % x != 0:
            x += 1
            if x == limit:
                print("%d is prime" % prime)
                return True
        else:
            print("%d Not a prime" % prime)
            return False

prime_checker(199)

现在我想创建一个函数,用素数检查方法测试数字,如果这个数字是素数,就把它附加到一个列表中。我的尝试是:

def prime_counting():
    list_of_primes = []
    for x in range(10):
        if prime_checker(x) == True:
            list_of_primes.append(x)
    print(list_of_primes)

prime_counting()

但是,这不起作用。有什么办法解决这个问题吗?你知道吗


Tags: of函数truereturnifdefchecker数字
2条回答

在某些情况下,主检查器不起作用。试试看

def prime_checker(prime):
    limit = int(math.sqrt(prime))
    for x in range(2, limit + 1):
        if prime % x == 0:
            return False
    return True

您几乎已经正确地完成了,在其中一个语句的顺序中只有一个分钟(逻辑)错误。你知道吗

def prime_checker(prime):
limit = int(math.sqrt(prime))
x = 2
while x <= limit:
    if prime % x != 0:
        if x == limit:
            print("%d is prime" % prime)
            return True
    x += 1
    else:
        print("%d Not a prime" % prime)
        return False

这是更新的prime\u checker函数。 我只是发现了你的错误。 否则你的逻辑是绝对正确的。:)

相关问题 更多 >