Python 7分鐘筆記 基礎四(函式 遞迴)

2021-09-05 01:28:53 字數 1906 閱讀 7103

python函式定義再回顧

函式的引數傳遞

python函式遞迴問題

7分鐘學習系列

著名的斐波拉契數列

除了第乙個數和第二個數外,任意乙個數都可由前兩個數相加得到:1,1,2,3,5,13,21,34····

且先看看前幾項

for 迴圈

函式結果

執行結果

range(i,j,[步長值]),預設步長為1,建立的物件表示值為i到j-1的整數。

rang( )函式

梯形面積:trapezoid area

我們來設計乙個名為:trapezoid_area的函式計算梯形的面積

三個引數分別為:base_up(上底),base_down(下底),height(高)

梯形的面積=(上底+下底)×高÷2

執行結果

**執行結果

結果2

且先看排列

**1遞迴結果

基礎函式寫法

遞迴結果

問題回顧

1.核心:找到乙個初始值,再找到乙個遞迴迴圈部分;

2.初始值:最外層沒進行的遞迴部分的最開始的基本例項反應值;

3.遞迴部分:找到重複出現的部分,如前兩個栗子中相鄰兩個的關係:第n個和第n-1的結果的關係即遞推式.

4.用條件語句中乙個分支寫初始值的,一部分寫遞迴迴圈部分呼叫自身的函式。

**問題

1.上面**12行和34,56,7行基本一致,只是換了個元素名和列表名在重複。從這裡我們可以找遞迴迴圈體

2.根據意圖可知:都在做一件事情,判斷元素是否屬於列表,如果不是就輸出元素(初始對應值),如果是繼續操作下去(遞迴迴圈體部分)。

3.**執行:

問題答案

前提:排好序

若上下限相同,則那就是數字所在位置,返回;

否則,找到兩者的中間,查詢數字是在左側還是右側,繼續查詢數字所在的那半部分。

1.如果相等,則返回中間值下標,

2.如果目標值小於中間值,就從陣列的前半段(左側)再次執行二分法查詢,

3.如果目標值大於中間值,從陣列的後半段(右側)開始二分法查詢。

二分法

每天1分鐘 PYTHON基礎之變數

變數定義 變數即為可以變化的量,由於值儲存在記憶體中,故需要取出該值則需要乙個指標,指向該記憶體位址能夠取出該記憶體中的值,而這個指標就是變數名。以下例子定義了乙個變數 user bin env python3 coding utf 8 name 小白too愛學習 上述 宣告了乙個變數,變數名為 n...

三分鐘搞定python基礎

庫的匯入和新增 在機器學習和人工智慧為主導的工業4.0時代,python猶如一股龍捲風襲捲著一切。python作為一門解釋性的物件導向的語言雖然在運算速度上有不足,但是相比於程式運算速度,程式專案開發速度更為重要,而且在在這個裝備氪金時代,運算速度的缺憾完全可以拿硬體來補,何況python還支援並行...

每天1分鐘 PYTHON基礎之模組(包)

示範檔案 glance glance init py glance api glance api init py glance api policy.py glance api versions.py glance cmd glance cmd init py glance cmd manage.p...