Python遞迴 三定律

2022-06-01 21:06:09 字數 627 閱讀 5892

遞迴演算法必須有乙個基本結束條件(最小規模問題的直接解決)

遞迴演算法必須能改變狀態向基本結束條件演進(減小問題規模)

遞迴演算法必須呼叫自身(解決減小了規模的相同問題)

def listsum(mylist):

if len(mylist) == 2: # 或 1

return mylist[0] + mylist[1]

else:

return mylist[0] + listsum(mylist[1:])

l1 = [1, 2, 3, 4]

print(listsum(l1))

ref = "0123456789abcdef"

def tostr(n, base):

if n < base: # 這就是最小規模,通過打表就能獲得結果

return ref[n]

else: # 分解成餘數和商,餘數肯定是最下規模

temp = n % base

n = n // base

return tostr(n, base) + temp # 注意順序

print(tostr(123, 16))

遞迴的三定律

例 所有遞迴演算法必須服從三個重要的定律 1.遞迴演算法必須具有基本情況。2.遞迴演算法必須改變其狀態並向基本情況靠近。3.遞迴演算法必須以遞迴方式呼叫自身。首先,基本情況是演算法停止遞迴的條件。基本情況通常是足夠小以直接求解的問題。在 listsum 演算法中,基本情況是長度為 1 的列表。為了遵...

人際關係三定律

人之不同,一如其面。各種不同的人都有適合自己的交往方式和自己的交往原則,不論其本人是否能夠意識得到。所以,如果想找出一種放之四海而皆準的 和任何脾氣任何性格的人交往都適用的程式,就像劇本一樣,先說哪句話,後說哪句話,什麼話應該配什麼動作,什麼心情配什麼表情,這肯定是不現實的。但是,人與人之間的交往,...

人際關係三定律

人之不同,一如其面。各種不同的人都有適合自己的交往方式和自己的交往原則,不論其本人是否能夠意識得到。所以,如果想找出一種放之四海而皆準的 和任何脾氣任何性格的人交往都適用的程式,就像劇本一樣,先說哪句話,後說哪句話,什麼話應該配什麼動作,什麼心情配什麼表情,這肯定是不現實的。但是,人與人之間的交往,...