首頁>Club>
10
回覆列表
  • 1 # NotOnlyMing

    聽過課的來做下筆記。有幾種思維,一種是像物理這種實證思維,一種是以數學為代表的數學思維,另外一種可能就是題主關注的以算為代表的計算思維了。

    我能直接想到的方法是一個一個地加。1+2+3+...+100=?

    那麼用python寫就是這樣的:

    比如說你要一個result的變數來存最後的運算結果,那必定是這樣:

    result=1+2+3+4+5+6+7+8+...(我寫不下去了)+100

    那一定不是一種明智的方法,因為計算機可以迴圈執行程式碼段:

    result=0

    for i in range(1, 101):

    result = result + i

    print result

    這個迴圈的意思就是每次從1-100的範圍中取出每個數,存入i中

    然後每次把取出的i加到result裡面。這樣一輪過後,result就被加了從0~100。這樣就可以了。

    還有一種方法是運用了數學思維,就是等差數列的求和公式:首相加尾項的和乘以項數再除以2。

    因此可以寫成

    result = (1+100)*100/2

    print(result)

    這種就是數學思維。實際上計算機很擅長重複做一件事情。第二種寫法不能說不好,只是說他沒有發揮計算機的優勢。

    所以遇到一個要用計算機解決的問題,思路就是想想如果你是計算機,你應該怎麼做。這樣就能找到一個最容易理解的演算法,然後去實現它。你就成功了。

  • 中秋節和大豐收的關聯?
  • startup.exe是什麼程序?