import numpy as np
numbers = np.arange(1,
100)
# 假設求1-100
length =
len(numbers)
# 求陣列長度,其實也是求最後乙個數
n_max =
int(np.sqrt(length)
)# 對長度開根號,減少遍歷長度
is_prime = np.ones(length,dtype =
bool
)# 建立乙個和數字陣列等長的邏輯陣列
is_prime[0]
=false
# 邏輯陣列第乙個值為false 遍歷的時候排除1
for i in
range(2
,n_max)
:# 從2開始遍歷
if i in numbers[is_prime]
:# 判斷這個i在不在素數陣列裡面
is_prime[
(i**2-
1)::i]
=false
# 如果在,則從i**2-1 開始以i為步長取得的數肯定不是素數
print
(numbers[is_prime]
)
16NumPy學習 矩陣庫(Matrix)
numpy 中包含了乙個矩陣庫 numpy.matlib,該模組中的函式返回的是乙個矩陣,而不是 ndarray 物件。乙個m n的矩陣是乙個由行m row n列 column 元素排列成的矩形陣列。矩陣裡的元素可以是數字 符號或數學式。以下是乙個由 6 個數字元素構成的 2 行 3 列的矩陣 ma...
Python學習筆記 16
自己總結的 遞迴就是將大的問題分解為相同的小問題,方法內重複呼叫自己 求10的階乘 10 deffactorial n for迴圈方法 result n for i in range 1 n result i return result n 4 print factorial n 遞迴就是將大的問題...
python學習筆記(16)
因為列舉成員不是有序的,所以它們只支援通過標識 identity 和相等性 equality 進行比較。enum 類的列舉是不支援大小運算子的比較的。使用 intenum 類進行列舉,就支援比較功能。usr bin env python3 coding utf 8 import enum class...