def
fun1()
:def
fun2()
:pass
#fun1()() == fun2()
#fun1() == fun2
如果函式內部的引數想被函式外部呼叫,可以用global設為全域性變數
def
fun1()
:global a
a =10def
fun2()
:print
(a) fun2(
)fun1(
)print
(a)
def
fun(n)
:#基線條件:被分解為最小的問題,滿足基線條件再去解決問題
if n ==1:
return
1#遞迴條件:將問題繼續分解的條件
return n * fun(n-1)
r = fun(10)
print
(r)
遞迴練習:
求任意數字的任意次冪運算
def
fun(n,m)
:if m ==1:
return
10return n * fun(n,m-1)
r = fun(10,
5)print
(r)
判斷是否回音字串
def
fun(s):if
len(s)
<2:
return
true
elif s[0]
!= s[-1
]:return
false
return fun(s[1:
-1])
s =input
("請輸入乙個字串:")if
len(s)
<2:
print
("字串太短"
)else
:print
(fun(s)
)
實戰演練:
用函式實現乙個判斷使用者輸入的年份是否是閏年的程式1.能被400整除的年份
2.能被4整除,但是不能被100整除的年份
以上2種方法滿足一種即為閏年
def
fun(y)
:if y%
400==0:
print
(f"年是閏年"
)elif y%4==
0and y%
100!=0:
print
(f"年是閏年"
)else
:print
(f"年不是閏年"
)fun(
int(
input
("請輸入乙個年份:"))
)
猴子吃桃問題(遞迴):猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了乙個。第二天早上又將剩下的桃子吃掉一半,又多吃了乙個。以後每天早上都吃了前一天剩的一半零乙個。到第10天早上想再吃時,見只剩下乙個桃子了,求第一天共摘了多少桃子?
def
fun(d)
:if d ==1:
return
1else
:return
(fun(d-1)
+1)*
2print
(fun(10)
)
Python零基礎入門 基礎(七) 函式
函式是指將一組語句的集合通過乙個名字 函式名 封裝起來,要想執行這個函式,只需呼叫其函式名即可。特性 減少重複 使程式變的可擴充套件 使程式變得易維護 def calc x,y 函式名 res x y return res 返回函式執行結果 c calc a,b 呼叫函式,結果賦值給c變數 prin...
python基礎 第七章 函式高階
多型 這大致意味著即便你不知道變數指向的是哪種物件,也能夠對其執行操作,且操作的行為將隨物件所屬的型別 類 而異。封裝 封裝 encapsulation 指的是向外部隱藏不必要的細節。每個物件都屬於特定的類,並被稱為該類的例項。例如,如果你在窗外看到乙隻鳥,這只鳥就是 鳥類 的乙個例項。鳥類是乙個非...
Python基礎(七) 類
物件導向程式設計是最有效的軟體編寫方法之一,在物件導向程式設計中的類可以模擬顯示世界中的事物和情景,並基於這些類來建立物件,在類中定義物件的通用行為。建立和使用類 建立 class dog 一次模擬小狗的簡單嘗試 def init self,name,age 初始化屬性name和age self.n...