天天看點

【python】程式設計語言入門經典100例--11

 1 #題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

代碼:

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

<code>  </code><code>3</code> <code>month </code><code>=</code> <code>int</code><code>(</code><code>input</code><code>(</code><code>'請輸入你要查詢的月份:'</code><code>))</code>

<code>  </code><code>4</code> <code>mon </code><code>=</code> <code>int</code><code>(month</code><code>/</code><code>3</code><code>)</code>

<code>  </code><code>5</code> <code>m </code><code>=</code> <code>2</code>

<code>  </code><code>6</code> <code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>,mon</code><code>+</code><code>1</code><code>):</code>

<code>  </code><code>7</code>     <code>m </code><code>+</code><code>=</code> <code>m</code>

<code>  </code><code>8</code> <code>print</code><code>(</code><code>'這個月的兔子總數為%d'</code><code>%</code><code>m)</code>

運作結果:

<code>[root@HK code_100]</code><code># python code_11.py </code>

<code>請輸入你要查詢的月份:</code><code>3</code>

<code>這個月的兔子總數為</code><code>4</code>

<code>請輸入你要查詢的月份:</code><code>6</code>

<code>這個月的兔子總數為</code><code>8</code>

<code>請輸入你要查詢的月份:</code><code>11</code>

<code>這個月的兔子總數為</code><code>16</code>

<code>請輸入你要查詢的月份:</code><code>50</code>

<code>這個月的兔子總數為</code><code>131072</code>

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

代碼解釋:

    解題思路:因為不确定會輸入多少月份,是以不能計算出所有月份的數量再取值,隻能利用循環語句循環到輸入的月份然後累加得到結果,最重要的是要将輸入的月份轉換成繁殖的次數,然後基于繁殖次數進行累加,具體代碼解釋如下: 

<code>  </code><code>3</code> <code>month </code><code>=</code> <code>int</code><code>(</code><code>input</code><code>(</code><code>'請輸入你要查詢的月份:'</code><code>))   </code><code>#輸入要查詢的月份</code>

<code>  </code><code>4</code> <code>mon </code><code>=</code> <code>int</code><code>(month</code><code>/</code><code>3</code><code>)                            </code><code>#輸入的月份除以3然後取整,會計算出繁殖的次數</code>

<code>  </code><code>5</code> <code>m </code><code>=</code> <code>2</code>                                <code>#初始是2隻兔子</code>

<code>  </code><code>6</code> <code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>,mon</code><code>+</code><code>1</code><code>):              </code><code>#計算出繁殖的次數,然後在次數内周遊</code>

<code>  </code><code>7</code>     <code>m </code><code>+</code><code>=</code> <code>m                            </code><code># 每循環一次,自身數量累加一次,得出總和</code>

<code>  </code><code>8</code> <code>print</code><code>(</code><code>'這個月的兔子總數為%d'</code><code>%</code><code>m)       </code><code>#格式化輸出兔子總數</code>

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