Python筆記16 numpy求質數

2021-09-19 15:39:46 字數 651 閱讀 1069

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...