阿里巴巴400集python教程_递归的练习课程 | Python从入门到精通:高阶篇之十二-阿里云开发者社区...
上節(jié)課留了兩個練習,這節(jié)課給大家講一下,同時鞏固一下遞歸的用法。
練習1、創(chuàng)建一個函數(shù) power 來為任意數(shù)字做冪運算 n* * i
用數(shù)據(jù)10^5舉例說明一下:
# 10 ** 5 = 10 * 10 ** 4
# 10 ** 4 = 10 * 10 ** 3
# ...
# 10 ** 1 = 10
代碼展示:
def power(n , i):
'''
power()用來為任意的數(shù)字做冪運算
參數(shù):
n 要做冪運算的數(shù)字
i 做冪運算的次數(shù)
'''
# 基線條件
if i == 1:
# 求1次冪
return n
# 遞歸條件
return n * power(n , i-1)
print(power(8,6))
執(zhí)行結果為:
練習2、創(chuàng)建一個函數(shù),用來檢查一個任意的字符串是否是回文字符串,如果是返回True,否則返回False。
回文字符串,字符串從前往后念和從后往前念是一樣的。
舉例說明:
# abcba
# abcdefgfedcba
# 先檢查第一個字符和最后一個字符是否一致,如果不一致則不是回文字符串
# 如果一致,則看剩余的部分是否是回文字符串
# 檢查 abcdefgfedcba 是不是回文
# 檢查 bcdefgfedcb 是不是回文
# 檢查 cdefgfedc 是不是回文
# 檢查 defgfed 是不是回文
# 檢查 efgfe 是不是回文
# 檢查 fgf 是不是回文
# 檢查 g 是不是回文
代碼展示:
def hui_wen(s):
'''
該函數(shù)用來檢查指定的字符串是否回文字符串,如果是返回True,否則返回False
參數(shù):
s:就是要檢查的字符串
'''
# 基線條件
if len(s) < 2 :
# 字符串的長度小于2,則字符串一定是回文
return True
elif s[0] != s[-1]:
# 第一個字符和最后一個字符不相等,不是回文字符串
return False
# 遞歸條件
# 用切片檢查除去第一個和最后一個字符后的新字符串
return hui_wen(s[1:-1])
print(hui_wen('abcdefgfedcba'))
執(zhí)行結果為:
即,‘a(chǎn)bcdefgfedcba’為回文字符串。
也可以合并遞歸條件,但是不方便閱讀,不建議使用,了解即可。
def hui_wen(s):
# '''
# 該函數(shù)用來檢查指定的字符串是否回文字符串,如果是返回True,否則返回False
# 參數(shù):
# s:就是要檢查的字符串
# '''
# 基線條件
if len(s) < 2 :
# 字符串的長度小于2,則字符串一定是回文
return True
# 遞歸條件
return s[0] == s[-1] and hui_wen(s[1:-1])
print(hui_wen('abcdefgfedcba'))
獲取更多內(nèi)容,請訂閱Python學習站官方技術圈!
總結
以上是生活随笔為你收集整理的阿里巴巴400集python教程_递归的练习课程 | Python从入门到精通:高阶篇之十二-阿里云开发者社区...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 青团怎么做会显色一点
- 下一篇: python字典按键值排序_Python