Bagaimana untuk Mengira Jumlah Integer Senarai Menggunakan Rekursi dalam Python?

Patricia Arquette
Lepaskan: 2024-10-21 12:02:33
asal
684 orang telah melayarinya

How to Calculate Sum of List Integers Using Recursion in Python?

Memahami Rekursi dalam Python: Menjumlahkan Integer Senarai

Rekursi ialah teknik pengaturcaraan di mana fungsi memanggil dirinya berulang kali untuk menyelesaikan kejadian masalah yang lebih kecil sehingga keadaan asas dicapai. Dalam Python, kita boleh menggunakan rekursi pada pelbagai tugas, termasuk mengira jumlah integer senarai.

Fungsi Rekursif: listSum

Untuk menentukan senarai fungsi rekursif yang mengambil senarai daripada integer dan mengembalikan jumlahnya, kita boleh memecahkan masalah seperti berikut:

  • Keadaan Asas: Jika senarai kosong (senarai == []), jumlahnya ialah 0.
  • Langkah Rekursif: Jika senarai tidak kosong, jumlahnya ialah elemen pertama (senarai[0]) ditambah jumlah elemen yang tinggal (listSum(senarai[1: ])).

Versi Mudah:

<code class="python">def listSum(ls):
    # Base condition
    if not ls:
        return 0

    # First element + result of calling `listsum` with rest of the elements
    return ls[0] + listSum(ls[1:])</code>
Salin selepas log masuk

Rekursi Panggilan Ekor:

Untuk meningkatkan kecekapan , kita boleh menghantar jumlah semasa kepada parameter fungsi:

<code class="python">def listSum(ls, result):
    # Base condition
    if not ls:
        return result

    # Call with next index and add the current element to result
    return listSum(ls[1:], result + ls[0])</code>
Salin selepas log masuk

Melalui Versi Indeks:

Untuk mengelak daripada mencipta senarai perantaraan, kita boleh melepasi indeks elemen semasa:

<code class="python">def listSum(ls, index, result):
    # Base condition
    if index == len(ls):
        return result

    # Call with next index and add the current element to result
    return listSum(ls, index + 1, result + ls[index])</code>
Salin selepas log masuk

Versi Fungsi Dalaman:

Untuk memudahkan kod, kita boleh mentakrifkan fungsi dalaman rekursif:

<code class="python">def listSum(ls):

    def recursion(index, result):
        # Base condition
        if index == len(ls):
            return result

        # Call with next index and add the current element to result
        return recursion(index + 1, result + ls[index])

    return recursion(0, 0)</code>
Salin selepas log masuk

Versi Parameter Lalai:

Menggunakan parameter lalai, kami boleh memudahkan lagi:

<code class="python">def listSum(ls, index=0, result=0):
    # Base condition
    if index == len(ls):
        return result

    # Call with next index and add the current element to result
    return listSum(ls, index + 1, result + ls[index])</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Integer Senarai Menggunakan Rekursi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!