天天看點

【python】程式設計學習練習題-2

  1 #Python提供的sum()函數可以接受一個list并求和,請編寫一個prod()函數,可以接受一個list并利用reduce()求積:

代碼:

<code>  </code><code>2</code> 

<code>  </code><code>3</code> <code>from</code> <code>functools </code><code>import</code> <code>reduce</code>

<code>  </code><code>4</code> <code>li </code><code>=</code> <code>[</code><code>1</code><code>,</code><code>2</code><code>,</code><code>3</code><code>,</code><code>4</code><code>,</code><code>5</code><code>,</code><code>7</code><code>]</code>

<code>  </code><code>5</code> <code>print</code><code>(</code><code>sum</code><code>(li))</code>

<code>  </code><code>6</code> 

<code>  </code><code>7</code> <code>def</code> <code>prod(x,y): </code>

<code>  </code><code>8</code>     <code>return</code> <code>x </code><code>*</code> <code>y</code>

<code>  </code><code>9</code> 

<code> </code><code>10</code> <code>r </code><code>=</code> <code>reduce</code><code>(prod,li)</code>

<code> </code><code>11</code> <code>print</code><code>(r)</code>

運作結果:

<code>[root@HK Practice]</code><code># python map_reduce_2.py </code>

<code>22</code>

<code>840</code>

<code>[root@HK Practice]</code><code>#</code>

代碼解釋:

<code>  </code><code>3</code> <code>from</code> <code>functools </code><code>import</code> <code>reduce</code>            <code>#導入reduce子產品</code>

<code>  </code><code>4</code> <code>li </code><code>=</code> <code>[</code><code>1</code><code>,</code><code>2</code><code>,</code><code>3</code><code>,</code><code>4</code><code>,</code><code>5</code><code>,</code><code>7</code><code>]                      </code><code>#建立一個清單用于計算</code>

<code>  </code><code>5</code> <code>print</code><code>(</code><code>sum</code><code>(li))                          </code><code>#列印求和結果</code>

<code>  </code><code>7</code> <code>def</code> <code>prod(x,y):                          </code><code>#定義函數prod,傳入兩個參數x,y</code>

<code>  </code><code>8</code>     <code>return</code> <code>x </code><code>*</code> <code>y                        </code><code>#傳回x和y的乘積</code>

<code> </code><code>10</code> <code>r </code><code>=</code> <code>reduce</code><code>(prod,li)                     </code><code>#reduce 傳入函數prod和清單li</code>

<code> </code><code>11</code> <code>print</code><code>(r)                                </code><code>#列印結果</code>

<code></code>

      本文轉自snc_snc 51CTO部落格,原文連結:http://blog.51cto.com/netsyscode/1751356,如需轉載請自行聯系原作者