python演算法之遞迴演算法

2021-08-28 08:32:08 字數 1007 閱讀 7915

# -*- coding: utf-8 -*-

import numpy as np

# 遞迴演算法

i = 0

def my_recursion(list, n):

global i

try:

if list[i] == n: # 基線條件

return i, i+1

else: # 遞迴條件

i += 1

return my_recursion(list, n)

except exception as e:

print(e)

if __name__ == '__main__':

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print('row data:{}\nlength of data:{}'.format(x, len(x)))

print('please input the number that you want to know : ')

y = int(input())

temp = my_recursion(x, y)

try:

print('查詢到{}在資料中的位置為{},查詢步數為{}步'.format(y, temp[0], temp[1]))

except exception as e:

print('this number is not in the data!\n', e)

其中,在使用遞迴演算法的時候,可能會出現return返回數值為none的情況,這時候需要修改的地方為其遞迴條件處,將其用return返回的方法來呼叫本體。這樣就可以消除出現none的情況。

我曾經跨過山和大海,也穿過人山人海,我曾經擁有著的一切,轉眼都飄散如煙,我曾經失落失望失掉所有方向,直到看見平凡才是唯一的答案。

——韓寒《平凡之路》

Python之遞迴演算法

遞迴結構包括兩個部分 定義遞迴頭。規定什麼時候不呼叫自身方法。如果沒有頭,將陷入死迴圈,也就是遞迴的結束條件。遞迴體。規定什麼時候需要呼叫自身方法。num 1defa1 global num num 1print 1111 if num 3 a1 a1 1111 1111 1111def facto...

python 演算法之遞迴

遞迴時解決問題的一種方法,他將問題不斷分成更小的子問題,直到子問題可以用普通的方法解決,通常情況下,遞迴會 使用乙個不停呼叫自己的函式,儘管表面上很普通,但是遞迴可以幫助我們寫出非常優雅的解決方案。def listsum numlist thesum 0for i in numlist thesum...

python之遞迴演算法

遞迴演算法 函式在自己的函式內呼叫自己,叫遞迴。遞迴會將前面所有呼叫的函式暫時掛起,直到遞迴終止條件給出明確的結果後,才會將所有掛起的內容進行反向計算。其實,遞迴也可以看作是一種反向計算的過程,前面呼叫遞迴的過程只是將表示式羅列出來,待終止條件出現後,才依次從後向前倒序計算前面掛起的內容,最後將所有...