其中,在使用遞迴演算法的時候,可能會出現return返回數值為none的情況,這時候需要修改的地方為其遞迴條件處,將其用return返回的方法來呼叫本體。這樣就可以消除出現none的情況。# -*- 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)
我曾經跨過山和大海,也穿過人山人海,我曾經擁有著的一切,轉眼都飄散如煙,我曾經失落失望失掉所有方向,直到看見平凡才是唯一的答案。
——韓寒《平凡之路》
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之遞迴演算法
遞迴演算法 函式在自己的函式內呼叫自己,叫遞迴。遞迴會將前面所有呼叫的函式暫時掛起,直到遞迴終止條件給出明確的結果後,才會將所有掛起的內容進行反向計算。其實,遞迴也可以看作是一種反向計算的過程,前面呼叫遞迴的過程只是將表示式羅列出來,待終止條件出現後,才依次從後向前倒序計算前面掛起的內容,最後將所有...