用python画枫叶-python-函数及练习
一、函數的返回值
可以通過人return 來指定函數的返回值
用一個變量來接收返回值
return 后面跟什么值,函數就會返回什么值
# 在函數中return后的代碼都不會被執行,return一旦執行,函數自定結束
例如: print('jaaj')
return '3'
print('123')
print(fn) # fn是函數對象,打印fn 就是在打印函數對象,
print(fn()) # fn() 是在調用函數,打印fn() 實際上就是在打印fn()的返回值
二、函數的作用域(scope): 作用域指的是變量生效的區域
scope = locals() # 要獲取函數內部的命名空間
# globals() # 這個函數可以在任意位置獲全局的取命名空間
遞歸函數-- - -- - - - - - - - - - - -- - - -
遞歸:自己去引用自己
遞歸函數就是在函數中調用自己
遞歸是解決問題的一種方式
整體思想就是將一個大問題分解為一個一個的小問題,直到問題無法分解時在去解決問題
# 遞歸函數的兩個條件
1.基線條件 問題可以被分解為最小的問題,當滿足基線條件時,遞歸就不在執行了
2.遞歸條件 將問題繼續分解的條件
3.用遞歸方法求階乘:
def fn2(n):
# 參數n 要求階乘的數字
# 基線條件 判斷n為1的時候,就不遞歸了
if n == 1:
return 1
# 遞歸條件
return n * fn2(n-1)
print(fn2(10))
4.定義一個函數,來為任意數字做任意冪運算
def fn1(n,i):
# 基線條件
if i == 1:
return n
# 遞歸條件
return n * fn1(n,i-1)
print(fn1(5,8))
5.先檢查最后一個字符和第一個字符是否相等,如果不是,一定不是回文
def fn2(s):
# 參數s 要檢查的字符串
# 基線條件
if len(s) < 2:
# 字符串的長度小于2,一定是回文
return True
elif s[0] != s[-1]:
# 不是回文
return False
# 遞歸條件
return fn2(s[1:-1])
print(fn2('abcdefedcba'))
總結
以上是生活随笔為你收集整理的用python画枫叶-python-函数及练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试重点
- 下一篇: python实现比较两手牌的大小--斗地