天天看點

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

  4#題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

代碼:

<code>  </code><code>2</code> <code>year </code><code>=</code> <code>int</code><code>(</code><code>input</code><code>(</code><code>'請輸入年份:'</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>4</code> <code>day </code><code>=</code> <code>int</code><code>(</code><code>input</code><code>(</code><code>'請輸入日期:'</code><code>))</code>

<code>  </code><code>5</code> 

<code>  </code><code>6</code> <code>rmon </code><code>=</code> <code>[</code><code>31</code><code>,</code><code>29</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>]</code>

<code>  </code><code>7</code> 

<code>  </code><code>8</code> <code>pmon </code><code>=</code> <code>[</code><code>31</code><code>,</code><code>28</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>]</code>

<code>  </code><code>9</code> <code>j </code><code>=</code> <code>0</code>

<code> </code><code>10</code> <code>tmp </code><code>=</code> <code>0</code>

<code> </code><code>11</code> <code>if</code> <code>((year</code><code>%</code><code>4</code> <code>=</code><code>=</code> <code>0</code> <code>and</code> <code>year</code><code>%</code><code>100</code> <code>!</code><code>=</code> <code>0</code><code>) </code><code>or</code> <code>year</code><code>%</code><code>400</code> <code>=</code><code>=</code> <code>0</code><code>):</code>

<code> </code><code>12</code>     <code>for</code> <code>i </code><code>in</code> <code>rmon:</code>

<code> </code><code>13</code>         <code>if</code> <code>(j &lt; month):</code>

<code> </code><code>14</code>             <code>tmp </code><code>+</code><code>=</code> <code>rmon[j]</code>

<code> </code><code>15</code>             <code>j </code><code>+</code><code>=</code> <code>1</code>

<code> </code><code>16</code>         <code>else</code><code>:</code>

<code> </code><code>17</code>             <code>break</code>

<code> </code><code>18</code>     <code>print</code><code>(</code><code>'你輸入的年份是閏年,輸入的時間是這一年的第%d天'</code><code>%</code><code>(tmp</code><code>+</code><code>day))</code>

<code> </code><code>19</code> <code>else</code><code>:</code>

<code> </code><code>20</code>     <code>for</code> <code>i </code><code>in</code> <code>pmon:</code>

<code> </code><code>21</code>         <code>if</code> <code>(j &lt; month):</code>

<code> </code><code>22</code>             <code>tmp </code><code>+</code><code>=</code> <code>pmon[j]</code>

<code> </code><code>23</code>             <code>j </code><code>+</code><code>=</code> <code>1</code>

<code> </code><code>24</code>         <code>else</code><code>:</code>

<code> </code><code>25</code>             <code>break</code>

<code> </code><code>26</code>     <code>print</code><code>(</code><code>'你輸入的年份是平年,輸入的時間是這一年的第%d天'</code><code>%</code><code>(tmp</code><code>+</code><code>day))</code>

運作結果:

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

<code>請輸入年份:</code><code>2016</code>

<code>請輸入月份:</code><code>4</code>

<code>請輸入日期:</code><code>20</code>

<code>你輸入的年份是閏年,輸入的時間是這一年的第</code><code>141</code><code>天</code>

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

<code>請輸入年份:</code><code>2015</code>

<code>你輸入的年份是平年,輸入的時間是這一年的第</code><code>140</code><code>天</code>

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

代碼解釋:

<code>  </code><code>2</code> <code>year </code><code>=</code> <code>int</code><code>(</code><code>input</code><code>(</code><code>'請輸入年份:'</code><code>))   </code><code>#接收輸入的日期,并且轉換成int類型</code>

<code>  </code><code>6</code> <code>rmon </code><code>=</code> <code>[</code><code>31</code><code>,</code><code>29</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>]  </code><code>#閏年的每月天數</code>

<code>  </code><code>8</code> <code>pmon </code><code>=</code> <code>[</code><code>31</code><code>,</code><code>28</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>,</code><code>30</code><code>,</code><code>31</code><code>]  </code><code>#平年的每月天數</code>

<code> </code><code>11</code> <code>if</code> <code>((year</code><code>%</code><code>4</code> <code>=</code><code>=</code> <code>0</code> <code>and</code> <code>year</code><code>%</code><code>100</code> <code>!</code><code>=</code> <code>0</code><code>) </code><code>or</code> <code>year</code><code>%</code><code>400</code> <code>=</code><code>=</code> <code>0</code><code>):  </code><code>#判斷輸入的年份為閏年</code>

<code> </code><code>12</code>     <code>for</code> <code>i </code><code>in</code> <code>rmon:    </code><code>#  for循環周遊整個rmon</code>

<code> </code><code>13</code>         <code>if</code> <code>(j &lt; month):  </code><code>#判斷累加參數j小于輸入的月份,如果j&gt;month,沒有必要累加這個月的天數</code>

<code> </code><code>14</code>             <code>tmp </code><code>+</code><code>=</code> <code>rmon[j]   </code><code>#符合條件的月份天數累加</code>

<code> </code><code>15</code>             <code>j </code><code>+</code><code>=</code> <code>1</code>    <code>#j=0 step為1遞增</code>

<code> </code><code>17</code>             <code>break</code>   <code># 當循環的月份大于輸入的月份時跳出循環</code>

<code> </code><code>18</code>     <code>print</code><code>(</code><code>'你輸入的年份是閏年,輸入的時間是這一年的第%d天'</code><code>%</code><code>(tmp</code><code>+</code><code>day))   </code><code>#  格式化列印結果</code>

<code> </code><code>19</code> <code>else</code><code>:                                  </code>

<code> </code><code>20</code>     <code>for</code> <code>i </code><code>in</code> <code>pmon:               </code><code># 與上面的代碼解釋相同,是平年的計算,差别在2月的天數</code>

<code> </code><code>27</code>

<code></code>

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