用Python3生成質數列表

2021-09-23 23:50:05 字數 737 閱讀 4390

遵循埃氏篩法的思想,使用filter函式和生成器生成給定自然數內的質數(又稱素數)列表。

本文章總結自廖大的python教程。

1. 首先直接生成奇數列表,因為2作為最小的質數,顯然所有大於2的偶數都將被排除。

def odd_generator():

n = 1

while true:

n += 2

yield n

2. 生成篩選函式。

def not_divisible(n):

return lambda x: x % n > 0

注意,此函式返回的是乙個匿名函式,而不是某個具體的值。單獨呼叫此函式的正確方式是 not_divisible(2)(10),返回false。

3. 生成質數生成器。

def primes():

n = 2

it = odd_generator()

while true:

n = next(it)

yield n

it = filter(not_divisible(n), it)

4. 在給定自然數範圍內生成質數列表。

for n in primes():

if n < 1000:

print(n)

else:

break

Python3生成密碼

使用python3實現簡單的密碼生成功能,隨機且隨意。這裡只是乙個簡單的例子,有必要的話可以深入研究一下。time 2019 9 12 18 24 author 統哥哥 file password generato.py software pycharm import string import r...

python3生成器 Python3 生成器

python3 生成器 閱讀 125 發布於 2020 05 19 14 29 25 在python中,一邊迴圈一邊計算出元素的機制,稱為生成器 generator。生成器的優點 一次返回乙個結果,延遲計算。這對於大資料量處理,是個非常有用的優勢。占用記憶體量是工程師必須考慮的乙個問題。提高 可讀性...

用Python3生成4位隨機驗證碼和手機號碼

一 環境配置 1.python3的環境安裝 2.pycharm的安裝 二 直接上 coding utf 8 importrandom defsuijihaoma 產生隨機手機號碼 list 移動 134 移動 135 移動 136 移動 137 移動 138 移動 139 移動 150 移動 151...