0

最初の is_divisible(n,primes) は、数値が素数の他の数値で割り切れるかどうかを確認するための 2 つの関数を作成するように依頼されました。

次に、最初のものを使用して特定の範囲内のすべての素数を見つける2番目のものです。

理由はわかりませんが、素数を表示する方法がわかりません。私が間違っていることについて明らかなことはありますか?

def is_divisible(n, primes):    
    for p in primes:
        if n % p == 0:
            return True
        else:
            return False        

def find_primes(N):  
    primes=[]
    for n in range(2, N+1):
        is_divisible(n,primes)
        if False:
            primes.append(n)
    print(primes)

find_primes(20)
4

3 に答える 3

0

このコードは間違っています:

    is_divisible(n,primes)
    if False:
        primes.append(n)

if 条件内で割り切れるかどうかを確認する必要があります。これを試して:

    if not is_divisible(n,primes):
        primes.append(n)

Python は 0 を False に評価し、それ以外の場合はすべての数値を評価します。したがって、「if condition == True」のようなことをする必要はありません。just if 条件を使用します。

于 2013-10-13T21:21:48.523 に答える