# 用Python求π 順便教import ## import是啥 import 是匯入一個函式庫(可以自己寫的也可以是別人寫的) #### 自己寫ㄉ ``` folder/ ├── you_write_module.py └── you_import.py ``` 現在you_write_module.py裡面有兩個函式 you_write_module.py ``` def add(a,b): return a+b def sub(a,b): return a-b ``` 然後你想要在另一個程式用 你可以在you_import.py裡面 把它import(匯入) you_import.py ``` import you_write_module ``` 阿你想要用add或sub函式 在you_import.py裡面打 ``` you_write_module.add(1,2) you_write_module.sub(3,2) #這樣就跑得動ㄌㄚ ``` 然後還有其他種import方式 #### 別人寫ㄉ ```python= # Import 整個 `random` module import random # 使用 `random` module 底下的 `randint` function print(random.randint(0, 5)) ``` 那random 這個函式庫哪來呢 要自己用一個python內建 載函式庫用的指令pip去載 到終端機打 ``` pip install random ``` 那你的電腦就會幫你載 水 python函式庫多到出水 可以參考pypl這個網站 ## 來求π吧 ### 蒙地卡羅法 ![](https://i.imgur.com/XMZUGfY.png) ![](https://i.imgur.com/K4dZLpR.png) 點丟得夠多 點的數量就會趨近於面積 我們就有pi了 所以我們要隨機丟一堆點在裡面 來求得pi 這邊的話用的是1/4的單位圓 (計算方便 開始囉! #### 匯入random函式庫(我們生不出隨機數QQ) ``` import random from time import perf_counter #順便測一下時間 ``` 然後到終端機(cmd, powershell)打 ``` pip install time ``` ``` pip install random ``` #### 時間函式庫怎麼用 ``` # 開始計時 回傳開始時間 應該是0.00000多 start = perf_counter() ...跑跑跑 #回傳時間 end = perf_counter() #跑的時間就末減初 print(end-start) ``` #### 開始丟點點 我們先設定丟多少個點 ``` N = 100 # 要丟幾個從這邊改 ``` ``` for x in range(N): ```