Python 中的遞歸函數不會傳回任何值:解決問題
在某些情況下,在Python 中使用遞歸函數時,可能會遇到這種情況其中函數會傳回None 而不是所需的值。當函數打算傳回特定路徑,但實際擷取的結果為 None 時,通常會出現此問題。
導致此問題的一個潛在原因是遞歸呼叫後省略了 return 語句。為了解決這個問題,函數應該明確傳回遞歸呼叫的結果。修改程式碼以包含 return 語句將確保函數傳回必要的路徑:
else: return get_path(directory[filename], rqfile, path)
此外,建議始終在函數末端包含 return 語句,無論函數的結果如何遞歸呼叫。這種做法確保函數始終返回一個值,避免錯誤返回None 的可能性:
for filename in dictionary.keys(): path = prefix+[filename] if not isinstance(dictionary[filename], dict): if rqfile in str(os.path.join(*path)): return str(os.path.join(*path)) return get_path(directory[filename], rqfile, path)
透過實施這些建議的調整,遞歸函數將返回預期路徑而不是None,從而解決了問題遇到了。
以上是為什麼我的遞歸 Python 函數不回傳任何值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!