Heim >Backend-Entwicklung >Python-Tutorial >Rekursion der Python-Full-Stack-Road-Serie
Die sogenannte Rekursion ist eigentlich die Funktion selbst, die die Funktion aufruft, bis die angegebenen Bedingungen erfüllt sind, und dann die Funktion Schicht für Schicht verlässt.
Es war einmal ein Berg, und da war ein Tempel im Berg. Da war ein alter Mönch, der dem Kind das Leben gab. Der Mönch erzählt Geschichten! Was ist die Geschichte? „Es war einmal ein Berg und da war ein Tempel im Berg. Da war ein alter Mönch im Tempel und er erzählte dem jungen Mönch eine Geschichte! Was ist die Geschichte? ‚Es war einmal, Da war ein Berg, und da war ein Tempel im Tempel, und er erzählte dem jungen Mönch eine Geschichte. '"
Verwenden Sie Funktionen, um eine Fibonacci-Folge zu schreiben
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368
Die Fibonacci-Folge soll Fügen Sie die beiden Zahlen vorne hinzu, um die nächste Zahl zu erhalten, und
Der Code lautet wie folgt
#!/usr/bin/env python # _*_ coding: utf-8 _*_ def Counter(n1, n2): if n1 > 10000: # 当要计算的值大于10000就退出 return print("Counter:", n1) # 输出当前计算到那个值了 n3 = n1 + n2 # 第一个值加上第一个值等于第三个值 Counter(n2, n3) # 调用计数器函数,此时第一个值是调用函数传过来的最后一个值,而第二个值是计算出来的第三个值 Counter(0, 1) # 调用计数器函数
Ergebnisse ausgeben
/usr/bin/python3.5 /home/ansheng/Documents/PycharmProjects/blogcodes/斐波那契.py Counter: 0 Counter: 1 Counter: 1 Counter: 2 Counter: 3 Counter: 5 Counter: 8 Counter: 13 Counter: 21 Counter: 34 Counter: 55 Counter: 89 Counter: 144 Counter: 233 Counter: 377 Counter: 610 Counter: 987 Counter: 1597 Counter: 2584 Counter: 4181 Counter: 6765 Process finished with exit code 0
Verwenden Sie die Rekursion, um die 10. Zahl in der Fibonacci-Folge zu erhalten und den Wert an den Aufrufer zurückzugeben
Code:
#!/usr/bin/env python # _*_ coding: utf-8 _*_ def Counter(Index, Start, End): print("第%d次计算,第一个数字是%d,第二个数字是%d" % (Index, Start, End)) if Index == 10: # 如果要计算的值是10就退出 return Start N = Start + End # N等于第一个数加上第二个数 Number = Counter(Index + 1, End, N) # 继续调用计数器函数,End相当与传给函数的第一个数,N是传给函数的第二个数 return Number result = Counter(1, 0, 1) print("得出的数字是:", result)
Ausgabeergebnis
/usr/bin/python3.5 /home/ansheng/Documents/PycharmProjects/blogcodes/递归.py 第1次计算,第一个数字是0,第二个数字是1 第2次计算,第一个数字是1,第二个数字是1 第3次计算,第一个数字是1,第二个数字是2 第4次计算,第一个数字是2,第二个数字是3 第5次计算,第一个数字是3,第二个数字是5 第6次计算,第一个数字是5,第二个数字是8 第7次计算,第一个数字是8,第二个数字是13 第8次计算,第一个数字是13,第二个数字是21 第9次计算,第一个数字是21,第二个数字是34 第10次计算,第一个数字是34,第二个数字是55 得出的数字是: 34 Process finished with exit code 0
Originallink
Die sogenannte Rekursion ist eigentlich Die Funktion selbst ruft die Funktion auf, bis die angegebenen Bedingungen erfüllt sind, und beendet sie dann Funktion Schicht für Schicht. Zum Beispiel:
Es war einmal ein Berg, und im Berg war ein alter Mönch, und er erzählte den Jungen Geschichten Mönch! Was ist die Geschichte? „Es war einmal ein Berg und auf dem Berg war ein Tempel. Im Tempel war ein alter Mönch und er erzählte dem jungen Mönch eine Geschichte! Was ist die Geschichte? „Es war einmal.“ , da war ein Berg, und da war ein Tempel im Tempel, und er erzählte dem kleinen Mönch eine Geschichte? '"
Verwenden Sie Funktionen, um eine Fibonacci-Folge zu schreiben
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368
Die Fibonacci-Folge soll Fügen Sie die beiden Zahlen vorne hinzu, um die nächste Zahl zu erhalten, und
Der Code lautet wie folgt
#!/usr/bin/env python # _*_ coding: utf-8 _*_ def Counter(n1, n2): if n1 > 10000: # 当要计算的值大于10000就退出 return print("Counter:", n1) # 输出当前计算到那个值了 n3 = n1 + n2 # 第一个值加上第一个值等于第三个值 Counter(n2, n3) # 调用计数器函数,此时第一个值是调用函数传过来的最后一个值,而第二个值是计算出来的第三个值 Counter(0, 1) # 调用计数器函数
Ergebnisse ausgeben
/usr/bin/python3.5 /home/ansheng/Documents/PycharmProjects/blogcodes/斐波那契.py Counter: 0 Counter: 1 Counter: 1 Counter: 2 Counter: 3 Counter: 5 Counter: 8 Counter: 13 Counter: 21 Counter: 34 Counter: 55 Counter: 89 Counter: 144 Counter: 233 Counter: 377 Counter: 610 Counter: 987 Counter: 1597 Counter: 2584 Counter: 4181 Counter: 6765 Process finished with exit code 0
Verwenden Sie die Rekursion, um die 10. Zahl in der Fibonacci-Folge zu erhalten und den Wert an den Aufrufer zurückzugeben
Code:
#!/usr/bin/env python # _*_ coding: utf-8 _*_ def Counter(Index, Start, End): print("第%d次计算,第一个数字是%d,第二个数字是%d" % (Index, Start, End)) if Index == 10: # 如果要计算的值是10就退出 return Start N = Start + End # N等于第一个数加上第二个数 Number = Counter(Index + 1, End, N) # 继续调用计数器函数,End相当与传给函数的第一个数,N是传给函数的第二个数 return Number result = Counter(1, 0, 1) print("得出的数字是:", result)
Ausgabeergebnis
/usr/bin/python3.5 /home/ansheng/Documents/PycharmProjects/blogcodes/递归.py 第1次计算,第一个数字是0,第二个数字是1 第2次计算,第一个数字是1,第二个数字是1 第3次计算,第一个数字是1,第二个数字是2 第4次计算,第一个数字是2,第二个数字是3 第5次计算,第一个数字是3,第二个数字是5 第6次计算,第一个数字是5,第二个数字是8 第7次计算,第一个数字是8,第二个数字是13 第8次计算,第一个数字是13,第二个数字是21 第9次计算,第一个数字是21,第二个数字是34 第10次计算,第一个数字是34,第二个数字是55 得出的数字是: 34 Process finished with exit code 0
Weitere rekursionsbezogene Artikel in der Python-Full-Stack-Reihe finden Sie auf der chinesischen PHP-Website!