遞歸程式碼不回傳:了解原因
提供的 Python 程式碼旨在使用遞歸方法來尋找字串中的特定字元。然而,儘管使用 print 語句“i am here now”表明它的存在,但它仍然重複返回 None。為了掌握這種行為背後的根本原因,讓我們深入研究程式碼的結構並揭示其無返回性質的根源。
函數 isIn 採取分而治之的策略,將字串 aStr 分成相等的段遞歸地搜尋指定部分,直到找到或消除該字元。基本情況中的列印“我現在在這裡”作為找到該角色的確認。
最後一行省略 return 語句被證明是至關重要的。當函數到達其執行軌蹟的末尾而沒有遇到明確返回時,它本質上默認返回 None。這解釋了為什麼成功找到字元後沒有返回 True。
要解決此問題,必須將return 語句合併到最後一行,如解決方案所示:
<code class="python">return isIn(char, aStr)</code>
透過此修復,遞歸函數在遞歸下降中偶然發現所需字符時將適當地傳播True 值,保證預期返回並避免預設的None 回應。
以上是儘管找到了字符,為什麼我的遞歸 Python 程式碼不回傳任何內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!