<style> .reveal, .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 { font-family: -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Helvetica, Arial, PingFangTC-Light, "Microsoft JhengHei", "微軟正黑", sans-serif, "Apple Color Emoji" } </style> # 用Python解立方根 ## 先想想你怎麼做,再教Python <br> 請選擇右上角 **分享** <i class="fa fa-share-alt fa-18"></i> 清單裡面的 <i class="fa fa-tv"></i> **簡報模式**,然後點選 **預覽** 來觀看簡報。 ###### tags: `資訊科學教學法` --- ## 請問8的立方根是多少? $$ \sqrt[3]{8} = ? $$ --- ## 請問15的立方根是多少? $$ \sqrt[3]{15} = ? $$ --- # 你是怎麼算的?^3^ --- 找出最接近15而不超過15的整數立方根 $1 \times 1 \times 1 = 1$ <span><!-- .element: class="fragment highlight-blue" -->$2 \times 2 \times 2 = 8$</span> $3 \times 3 \times 3 = 27$ --- 一次加0.1,加到3次方最接近15而不超過15的數字 $2.1 \times 2.1 \times 2.1 = 09.261$ $2.2 \times 2.2 \times 2.2 = 10.648$ $2.3 \times 2.3 \times 2.3 = 12.167$ <span><!-- .element: class="fragment highlight-blue" -->$2.4 \times 2.4 \times 2.4 = 13.824$</span> $2.5 \times 2.5 \times 2.5 = 15.625$ --- 接著繼續加下去,可以找出愈來愈接近15的立方根。 ## 請試著算到小數點後第四位。 --- ## 想想看,規則是什麼? - 從1開始往上加,算出3次方,一直算到接近15但小於15。 - 把剛剛的數字每次加0.1,算出3次方,一直算到接近15但小於15。 - 把剛剛的數字每次加0.01,算出3次方,一直算到接近15但小於15。 ... --- ## 用Python來實作 - while命令:一直工作,直到符合我的要求! :::danger while (判斷式): ←[要加冒號]   執行程式 ←[要縮排] ::: - 試試看下列程式,看看執行結果如何? ```python= count=1 while (count <=20): print(count) count=count+1 ``` --- ## 用 while 指令來解 ```python= i = 0.0 while (i*i*i <15): i = i + 0.0001 print (i) ``` 想想看,這樣寫有什麼缺點嗎? --- ## 可不可以解其他數字? 用input指令來輸入其它數字 ```python= i=float(input("輸入一個正整數")) j=0.0 while (j*j*j <i): j = j + 0.0001 print (j) ``` 驗算看看,答案正確嗎? --- ## 眼不見為淨 設定print格式,顯示到小數點後第四位就好。 ```python= i=float(input("輸入一個數字")) j=0.0 while (j*j*j <i): j = j + 0.0001 print ('%8.5f' %(j)) ``` 這樣就夠好了嗎?試著輸入大一點的數字看看 --- - 111 - 1111 - 11111 - 12個1呢? --- - 為什麼要算那麼久? - 有辦法算快一點嗎? - 想一下剛剛我們怎麼算的? - 你會一次加0.0001,慢慢加上去嗎? - # 請你做看看 --- 這裡有一個範例 ```python= i=float(input("輸入一個數字")) j=0.0 while (j*j*j <i): j = j + 1 while (j*j*j <i): j = j + 0.1 while (j*j*j <i): j = j + 0.01 while (j*j*j <i): j = j + 0.001 while (j*j*j <i): j = j + 0.0001 print ('%8.5f' %(j)) ``` 試看看,答案正確嗎? --- ## 回家作業 - 想想看,問題出在哪裡? - 請修改出正確的程式
{"metaMigratedAt":"2023-06-14T23:18:23.761Z","metaMigratedFrom":"Content","title":"用Python解立方根","breaks":true,"contributors":"[{\"id\":\"97f277c6-1b8d-46ee-a337-5fe0e6cfd972\",\"add\":2565,\"del\":501}]"}
    435 views