0:" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python實現經典案例的多種方法

系統 2186 0

今天給大家看一個經典案例,希望有所幫助

原題是這樣的:

假設你要計算冪,就像內置函數pow和運算符**所做的那樣。要定義一個數字的整數次冪,有多種方式,但先來看一個簡單的定義:power(x, n)(x的n次冪)是將數字x自乘n - 1次的結果,即將n個x相乘的結果。換而言之,power(2, 3)是2自乘兩次的結果,即2 × 2 × 2 = 8。

?

方法一:?

            
               1
            
            
              def
            
            
               funa(x, n):

            
            
               2
            
                 res =
            
               x

            
            
               3
            
            
              if
            
             n <
            
               0:

            
            
               4
            
            
              return
            
             -1

            
               5
            
            
              elif
            
             n ==
            
               0:

            
            
               6
            
            
              return
            
             1

            
               7
            
            
              elif
            
             n >
            
               0:

            
            
               8
            
                     n -= 1

            
               9
            
            
              while
            
             n >
            
               0:

            
            
              10
            
                         res *=
            
               x

            
            
              11
            
                         n -= 1

            
              12
            
            
              return
            
            
               res

            
            
              13
            
            
              else
            
            
               :

            
            
              14
            
            
              print
            
            (
            
              "
            
            
              !
            
            
              "
            
            )
          

此方法大多數語言都可以這樣寫, 代碼冗余, 不夠精簡, 雖然可以實現功能, 但是不夠美觀

方法二:

            
              1
            
            
              def
            
            
               funb(x, n):

            
            
              2
            
                 result = 1

            
              3
            
            
              for
            
             i 
            
              in
            
            
               range(n):

            
            
              4
            
                     result *=
            
               x

            
            
              5
            
            
              return
            
             result
          

此方法符合python之美

方法三:

            
              1
            
            
              def
            
            
               func(x, n):

            
            
              2
            
            
              if
            
             n ==
            
               0:

            
            
              3
            
            
              return
            
             1

            
              4
            
            
              else
            
            
              :

            
            
              5
            
            
              return
            
             x * func(x, n - 1)
          

此方法為遞歸, 了解即可

雖然這個例子很簡單, 但實現的方法也很多, 每種方式各有優缺點, 所以大家平時可以發散思維, 對于一個問題有多種解決方法

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 金堂县| 黄山市| 桓台县| 娄底市| 明光市| 凌源市| 察雅县| 苗栗县| 皮山县| 万源市| 营山县| 新安县| 宜黄县| 如皋市| 琼中| 陆河县| 兴山县| 巴彦县| 广安市| 彩票| 恩平市| 临洮县| 大丰市| 增城市| 大厂| 临清市| 株洲县| 泾源县| 吉林省| 齐河县| 宝鸡市| 隆尧县| 浙江省| 南丰县| 东平县| 东阿县| 涿鹿县| 曲阳县| 达尔| 获嘉县| 东海县|