首頁 >後端開發 >Python教學 >為什麼我的遞歸函數在找到字元時返回'None”而不是'True”?

為什麼我的遞歸函數在找到字元時返回'None”而不是'True”?

Susan Sarandon
Susan Sarandon原創
2024-10-26 04:04:27406瀏覽

Why Does My Recursive Function Return `None` Instead of `True` When It Finds the Character?

為什麼遞歸程式碼不回傳任何值?

在提供的程式碼片段中,定義了一個遞歸函數 isIn 來決定給定的值是否為字元存在於字串中。但是,當在字串中找到該字元時,它始終會傳回 None 而不是預期的 True 值。

程式碼對字串執行二分搜索,重複將其分成兩半。當在中點找到字元時,它會列印一條訊息指示其位置,但無法返回 True。

要修正此問題,應在函數的最後一行加上return 語句,如下所示:

<code class="python">return isIn(char, aStr)</code>

如果沒有這個return 語句,函數在沒有遇到return 語句的情況下終止時只會返回None。透過添加此返回,當字元位於字串內時,函數可以正確返回 True。

以上是為什麼我的遞歸函數在找到字元時返回'None”而不是'True”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn