遵循埃氏篩法的思想,使用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...