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,如需轉載請自行聯系原作者