<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Python 遞歸函數 > 原文: [https://thepythonguru.com/python-recursive-functions/](https://thepythonguru.com/python-recursive-functions/) * * * 于 2020 年 1 月 7 日更新 * * * 函數本身調用時稱為遞歸。 遞歸的工作原理類似于循環,但有時使用遞歸比循環更有意義。 您可以將任何循環轉換為遞歸。 這是遞歸的工作方式。 遞歸函數會自行調用。 如您所料,如果不因某種條件而停止,則此過程將無限期重復。 此條件稱為基本條件。 每個遞歸程序中都必須有一個基本條件,否則它將像無限循環一樣永遠繼續執行。 遞歸函數的工作原理概述: 1. 遞歸函數由一些外部代碼調用。 2. 如果滿足基本條件,則程序執行有意義的操作并退出。 3. 否則,函數將執行一些必需的處理,然后調用自身以繼續遞歸。 這是用于計算階乘的遞歸函數的示例。 階乘由數字表示,后跟(`!`)符號,即`4!`。 例如: ```py 4! = 4 * 3 * 2 * 1 2! = 2 * 1 0! = 1 ``` 這是一個例子 ```py def fact(n): ? ? if n == 0: ? ? ? ? return 1 ? ? else: ? ? ? ? return n * fact(n-1) print(fact(0)) print(fact(5)) ``` **預期輸出**: ```py 1 120 ``` ```py def fact(n): if n == 0: return 1 else: return n * fact(n-1) print(fact(0)) print(fact(5)) ``` 現在嘗試執行上述函數: ```py print(fact(2000)) ``` 你會得到: ```py RuntimeError: maximum recursion depth exceeded in comparison ``` 發生這種情況是因為默認情況下 python 在`1000`調用之后停止了調用遞歸函數。 若要更改此行為,您需要按如下所示修改代碼。 ```py import sys sys.setrecursionlimit(3000) def fact(n): ? ? if n == 0: ? ? ? ? return 1 ? ? else: ? ? ? ? return n * fact(n-1) print(fact(2000)) ``` ```py import sys sys.setrecursionlimit(3000) def fact(n): ? ? if n == 0: ? ? ? ? return 1 ? ? else: ? ? ? ? return n * fact(n-1) print(fact(2000)) ``` * * * * * *
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看