9種方法寫Fibonacci(Python)

受A Python Guide to the Fibonacci Sequence啟發,我也來試試看用CS61A課程所學寫Fibonacci,感覺又好玩,又可以順便複習下課程。是的,好的課程一定要花些時間好好複習。 Fibonacci是什麼? Fibonacci,翻譯為斐波那契数。 請參考如下維基百科的定義。 source:Fibonacci number 維基百科中文版也有不同語言版本的程式參考: https://zh.wikipedia.org/wiki/斐波那契数#程式參考 ...

2023-01-18 · Ariel

CS61A 學習筆記和心得4-Tail Call

注:本文部分引用代碼來自CS61A(Structure and Interpretation of Computer Programs) Scheme作業,請小心劇透。個人學習筆記,請小心參考。 上一篇筆記提到了Read-Eval-Print-Loop,這篇筆記記錄其中的附加題-tail call optimization。 尾調用(tail call) 在计算机学裡,尾调用(tail call)是指一个函数里的最后一个动作是返回一个函数的调用结果的情形,即最后一步新调用的返回值直接被当前函数的返回结果。 ...

2023-01-11 · Ariel

CS61A 學習筆記和心得3-通過學習用Python寫個Scheme Interpreter來學習編程語言

注:本文引用代碼來自CS61A(Structure and Interpretation of Computer Programs) Scheme作業,請小心劇透。個人學習筆記,水平有限,請小心參考。 心得: 本來我想學Scheme版本的CS61A,弄了很久環境都沒有設置成功,然後轉學Python版本的CS61A。 沒想到課程第三章是先用一個python寫的解釋器學Scheme,不用下載任何東西。然後作業是自己一步一步寫一個Scheme語言的解釋器,每完成一步還可以自己運行看看。完成作業後,我們自然了解到這個解釋器的程式也就這樣而已嘛,不難懂啊,沒什麼神秘的。 ...

2023-01-05 · Ariel

CS61A 學習筆記和心得1:Python 函數式編程/遞歸

CS61A(Fall 2022)第一部分的課程在介紹函數式編程,對應課本第一章,主要包含: 高階函數Higher-Order Functions 遞歸(一直call自己循環的函數) 也簡單帶過如下內容 Lambda( 匿名函數) Currying(只有一個argument的一串函數) Decorators(函數裝飾器,高階函數的替代) 提示:本文參考課本所寫的筆記,方便自己以後複習,舉例含有部分作業代碼,要上課的同學請不要閱讀。 ...

2022-10-25 · Ariel
  | Copyright © -2025 Everydaydiva's Blog