---
# System prepended metadata

title: Untitled

---

實作報告二
教學題目：寫一個以while迴圈計算立方根到小數第四位，只可以使用四則運算，不可以使用指數運算。即輸入一個數，輸出為立方根到小數第四位。比如說，3開立方根號應該是1.4422；7開立方根號應該是1.9129。![](https://i.imgur.com/qGqfI1Q.jpg)

step1 .登入並新建立一python3筆記本![](https://i.imgur.com/B4OeYTa.jpg)

step2 .建入指令：i= float(input('請輸入一個正數:'))
    i= float(input('請輸入一個正數:'))
    1.宣告i為浮點數值
    2.在螢幕顯示：請輸入一個正數:![](https://i.imgur.com/y3n6uS6.jpg)

step3 .建入指令：j= 0.0![](https://i.imgur.com/KIDo304.jpg)

step4 .使用while迴圈求近似值
    鍵入指令： while j*j*j<i:
                j=j+0.000001
    利用當j的3次方小於給定的i值，每次加 0.000001後，再3次方… 去逼近立方根![](https://i.imgur.com/Tzb3ohd.jpg)

step5 .輸出計算後的值
    計算並輸近似值，並格式化使其顯示小數點後四位
    print('%10.2f的立方根為:%10.4f' % (i,j))![](https://i.imgur.com/kT4Xc4n.jpg)

step6.測試計算結果
以題目給定的3與7測試，是否符合預設輸出。結果符合！
![](https://i.imgur.com/QugaGWL.jpg)
step7.改良計算效能
原程式雖能計算結果，但當給定數值太大或增加之小數點太多位，電腦將因繁雜計算而嚴重delay!!因此以先計算整數後，每次增加小數一位數後逼近程式碼改良如下：
i= float(input('請輸入一個正數:'))
j= 0.0
while j*j*j<i:
  j=j+1
j-=1
while j*j*j<i:
  j=j+0.1
j-=0.1
while j*j*j<i:
  j=j+0.01
j-=0.01
while j*j*j<i:
  j=j+0.001
j-=0.001
while j*j*j<i:
  j=j+0.001
j-=0.001
print('%10.2f的立方根為:%10.4f' % (i,j))
 ![](https://i.imgur.com/tolMTK4.jpg)
step8.測試計算結果 ： 效能提升！
![](https://i.imgur.com/LplTdfS.jpg)
   

