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 < 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 < 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 < month): </code><code>#判斷累加參數j小于輸入的月份,如果j>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,如需轉載請自行聯系原作者