遞迴返回值為None 解決篇

2021-10-12 02:20:53 字數 1769 閱讀 7400

其實現在看來,當時我獲取返回值總是為空,只是因為自己沒有注意細節問題,不是什麼經典的bug,但是我還是想寫一篇文章記錄一下,因為在當時出現這個bug時,讓我困惑不解,那種感覺記憶猶新&~

該篇文章的**是我簡化後的

返回有none資料

def

funone

(data)

: one_data = data +

"功能1"

return one_data

deffuntwo

(data)

: two_data = data +

"功能2"

return two_data

deffunother

(data)

:if data ==

'1':

funone(data)

elif data ==

'2':

funtwo(data)

else

: other_data = data +

"other功能"

return other_data

if __name__ ==

'__main__'

: data =[1

,2,3

]for i in data:

res_data = funother(

str(i)

)print

(res_data)

執行結果

修改後的**

def

funone

(data)

: one_data = data +

"功能1"

return one_data

deffuntwo

(data)

: two_data = data +

"功能2"

return two_data

deffunother

(data)

:if data ==

'1':

other_data = funone(data)

elif data ==

'2':

other_data = funtwo(data)

else

: other_data = data +

"other功能"

return other_data

if __name__ ==

'__main__'

: data =[1

,2,3

]for i in data:

res_data = funother(

str(i)

)print

(res_data)

執行結果

其實對比前後**,主要區別就是在funother函式的中對另外兩個函式的返回值的接收,

可以得出改之前為空的情況是data等於1,2的時候,因為沒有接收兩個函式的返回資料導致的,

這點當**量大而複雜的時候比較容易忽略,所以還是特別注意一下比較好~~~

python 遞迴返回None 解決

今天寫了乙個遞迴 return 之前答應出來都是有值的,呼叫時候返回值都是none 很是納悶 後來找到原因 現在來看下返回none 的 def get end parent ele self,obj 獲取這個id 所在的原始類 parent id obj.parent id if obj else ...

PHP遞迴返回值時出現的問題解決辦法

我們在使用php遞迴時,會遇到各種各樣的問題,其中比較令人苦惱的是有關php遞迴返回值時出現的問題。其實細細想想這是乙個很簡單的問題。可就是這個簡單的問題困擾了半個下午。問題出在遞迴函式的返回值上。這是開始寫的 複製 如下 function test i else echo test 30 hgzq...

解決遞迴演算法返回值異常的問題

最近遇到乙個二叉樹的問題。給定乙個家族的族譜 輸入2個家庭成員 要求輸出2人的輩分差距 typedef struct node benode,betree int resum betree p,char a else 上述函式測試時有一部分情況良好,另一部分則是返回值完全錯誤 既然是c語言指標就完事...