Pythonの関数チュートリアル:Pythonの再帰関数の特性と原則が解決

この記事では、非常に詳細に記載されているサンプルコード内のテキストによって解決Pythonの再帰関数と原則の機能について説明し、習得したり、作業するために私たちのすべてのための学習の一定の基準値を持っているを参照することができ困っている友達
再帰関数の特性

機能

内部関数は、自分を呼びます

内部機能はもちろん、関数内で、他の関数を呼び出すことができますまた、独自呼び出すことができます

コードの特長

内部関数のコードは、異なるパラメータを除いて、処理の異なる結果と同じです

パラメータが条件を満たしている場合は、関数が実行されていません

これは、多くの場合、再帰的な輸出を呼ばれ、無限ループがあるだろう、非常に重要です!

サンプルコード

def sum_numbers(num):
  print(num)
  # 递归的出口很重要,否则会出现死循环
  if num == 1:
    return
  sum_numbers(num - 1)
sum_numbers(3)

ここに画像を挿入説明
再帰ケース2 - 計算の累積数

需要

関数sum_numbersを定義します

整数パラメータのNUMを受信することができます

の計算1 + 2 + ... NUM

def sum_numbers(num):
​  if num == 1:
    return 1
    # 假设 sum_numbers 能够完成 num - 1 的累加
  temp = sum_numbers(num - 1)
​  # 函数内部的核心算法就是 两个数字的相加
  return num + temp
​print(sum_numbers(2))

ここに画像を挿入説明

#  
# 练习
#  创建一个函数,用来检查一个任意的字符串是否是回文字符串,如果是返回True,否则返回False
#  回文字符串,字符串从前往后念和从后往前念是一样的
#    abcba
#  abcdefgfedcba
#  先检查第一个字符和最后一个字符是否一致,如果不一致则不是回文字符串
#    如果一致,则看剩余的部分是否是回文字符串
#  检查 abcdefgfedcba 是不是回文
#  检查 bcdefgfedcb 是不是回文
#  检查 cdefgfedc 是不是回文
#  检查 defgfed 是不是回文
#  检查 efgfe 是不是回文
#  检查 fgf 是不是回文
#  检查 g 是不是回文
 
def hui_wen(s):
  '''
    该函数用来检查指定的字符串是否回文字符串,如果是返回True,否则返回False
 
    参数:
      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'))

ここに画像を挿入説明

誰もが、リソースの収集を学ぶ非常に広いのpythonをお勧めし、ために私は、あなたへの書き込み入力する]をクリックし、共有の経験に学ぶ前に、上級プログラマがあり、研究ノート、ビジネス経験の可能性がある、と皆のために注意深くのpythonゼロを整理します最新技術のpython毎日あなたに、プロジェクトの戦闘情報への基礎、見通しは、細部のメッセージ残すことを学んで
、この記事のためにすべてです、私はすべての人の助けを学ぶことを願っています

公開された24元の記事 ウォン称賛38 ビュー20000 +

おすすめ

転載: blog.csdn.net/haoxun10/article/details/104761570