Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Fungsi Rekursif Saya Mengembalikan `Tiada` Daripada `Benar` Apabila Ia Menemui Watak?

Mengapa Fungsi Rekursif Saya Mengembalikan `Tiada` Daripada `Benar` Apabila Ia Menemui Watak?

Susan Sarandon
Susan Sarandonasal
2024-10-26 04:04:27396semak imbas

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

Mengapa Kod Rekursif Tiada Kembali?

Dalam coretan kod yang disediakan, fungsi rekursif, isIn, ditakrifkan untuk menentukan sama ada sesuatu yang diberikan aksara wujud dalam rentetan. Walau bagaimanapun, ia secara konsisten mengembalikan Tiada dan bukannya nilai True yang dijangkakan apabila aksara ditemui dalam rentetan.

Kod melakukan carian binari pada rentetan, berulang kali membahagikannya kepada separuh. Apabila aksara ditemui pada titik tengah, ia mencetak mesej yang menunjukkan lokasinya, tetapi ia gagal mengembalikan Benar.

Untuk membetulkan isu ini, pernyataan pemulangan harus ditambahkan pada baris terakhir fungsi, seperti dilihat di bawah:

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

Tanpa pernyataan pulangan ini, fungsi hanya mengembalikan Tiada apabila ia ditamatkan tanpa menemui pernyataan pulangan. Dengan menambah pulangan ini, fungsi boleh mengembalikan Benar dengan betul apabila aksara terletak dalam rentetan.

Atas ialah kandungan terperinci Mengapa Fungsi Rekursif Saya Mengembalikan `Tiada` Daripada `Benar` Apabila Ia Menemui Watak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn