W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在邏輯編程的幫助下,可以從數(shù)字列表中出素?cái)?shù),也可以生成素?cái)?shù)。 下面給出的 Python 代碼將從數(shù)字列表中找到素?cái)?shù),并且還會(huì)生成前 10
個(gè)素?cái)?shù)。
首先導(dǎo)入以下軟件包 -
from kanren import isvar, run, membero
from kanren.core import success, fail, goaleval, condeseq, eq, var
from sympy.ntheory.generate import prime, isprime
import itertools as it
現(xiàn)在,我們將定義一個(gè)名為 prime_check
的函數(shù),它將根據(jù)給定的數(shù)字檢查素?cái)?shù)作為數(shù)據(jù)。
def prime_check(x):
if isvar(x):
return condeseq([(eq,x,p)] for p in map(prime, it.count(1)))
else:
return success if isprime(x) else fail
現(xiàn)在,聲明一個(gè)變量 -
x = var()
print((set(run(0,x,(membero,x,(12,14,15,19,20,21,22,23,29,30,41,44,52,62,65,85)),
(prime_check,x)))))
print((run(10,x,prime_check(x))))
上述代碼的輸出如下 -
{19, 23, 29, 41}
(2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: