1 #題目:對10個數進行排序
代碼:
<code> </code><code>2</code> <code>i </code><code>=</code> <code>1</code>
<code> </code><code>3</code> <code>li </code><code>=</code> <code>[]</code>
<code> </code><code>4</code> <code>while</code> <code>i <</code><code>=</code> <code>10</code><code>:</code>
<code> </code><code>5</code> <code>li.append(</code><code>int</code><code>(</code><code>input</code><code>(</code><code>'請輸入第%d個數字:'</code><code>%</code><code>i)))</code>
<code> </code><code>6</code> <code>i </code><code>+</code><code>=</code> <code>1</code>
<code> </code><code>7</code> <code>print</code><code>(</code><code>'這十個數分别為:'</code><code>)</code>
<code> </code><code>8</code> <code>print</code><code>(li)</code>
<code> </code><code>9</code>
<code> </code><code>10</code> <code>liorder </code><code>=</code> <code>[]</code>
<code> </code><code>11</code> <code>x </code><code>=</code> <code>0</code>
<code> </code><code>12</code> <code>while</code> <code>x </code><code>=</code><code>=</code> <code>0</code><code>:</code>
<code> </code><code>13</code> <code>if</code> <code>li !</code><code>=</code> <code>[]:</code>
<code> </code><code>14</code> <code>m </code><code>=</code> <code>li[</code><code>0</code><code>]</code>
<code> </code><code>15</code> <code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>0</code><code>,</code><code>len</code><code>(li)):</code>
<code> </code><code>16</code> <code>if</code> <code>m > li[i]:</code>
<code> </code><code>17</code> <code>m </code><code>=</code> <code>li[i]</code>
<code> </code><code>18</code> <code>liorder.append(m)</code>
<code> </code><code>19</code> <code>li.remove(m)</code>
<code> </code><code>20</code> <code>else</code><code>:</code>
<code> </code><code>21</code> <code>x </code><code>=</code> <code>1</code>
<code> </code><code>22</code> <code>print</code><code>(</code><code>'排序之後為:'</code><code>)</code>
<code> </code><code>23</code> <code>print</code><code>(liorder)</code>
運作結果:
<code>[root@HK code_100]</code><code># python code_37.py </code>
<code>請輸入第</code><code>1</code><code>個數字:</code><code>234</code>
<code>請輸入第</code><code>2</code><code>個數字:</code><code>8765</code>
<code>請輸入第</code><code>3</code><code>個數字:</code><code>234235</code>
<code>請輸入第</code><code>4</code><code>個數字:</code><code>45</code>
<code>請輸入第</code><code>5</code><code>個數字:</code><code>7</code>
<code>請輸入第</code><code>6</code><code>個數字:</code><code>324534647</code>
<code>請輸入第</code><code>7</code><code>個數字:</code><code>4324</code>
<code>請輸入第</code><code>8</code><code>個數字:</code><code>45676834</code>
<code>請輸入第</code><code>9</code><code>個數字:</code><code>345</code>
<code>請輸入第</code><code>10</code><code>個數字:</code><code>45654534534546675657</code>
<code>這十個數分别為:</code>
<code>[</code><code>234</code><code>, </code><code>8765</code><code>, </code><code>234235</code><code>, </code><code>45</code><code>, </code><code>7</code><code>, </code><code>324534647</code><code>, </code><code>4324</code><code>, </code><code>45676834</code><code>, </code><code>345</code><code>, </code><code>45654534534546675657</code><code>]</code>
<code>排序之後為:</code>
<code>[</code><code>7</code><code>, </code><code>45</code><code>, </code><code>234</code><code>, </code><code>345</code><code>, </code><code>4324</code><code>, </code><code>8765</code><code>, </code><code>234235</code><code>, </code><code>45676834</code><code>, </code><code>324534647</code><code>, </code><code>45654534534546675657</code><code>]</code>
<code>[root@HK code_100]</code><code>#</code>
代碼解釋:
<code> </code><code>#思路:在10個數字中每次取出最小值,添加到新的清單,循環結束,新的清單就是10個數字的升序排列</code>
<code> </code>
<code> </code><code>2</code> <code>i </code><code>=</code> <code>1</code> <code>#定義i變量,初始化為1</code>
<code> </code><code>3</code> <code>li </code><code>=</code> <code>[] </code><code>#建立一個空清單,接收輸入的10個數字</code>
<code> </code><code>4</code> <code>while</code> <code>i <</code><code>=</code> <code>10</code><code>: </code><code>#循環輸入10個數字</code>
<code> </code><code>5</code> <code>li.append(</code><code>int</code><code>(</code><code>input</code><code>(</code><code>'請輸入第%d個數字:'</code><code>%</code><code>i))) </code><code>#将輸入的數字轉換成int格式,添加到li清單當中</code>
<code> </code><code>6</code> <code>i </code><code>+</code><code>=</code> <code>1</code> <code>#循環終止條件</code>
<code> </code><code>7</code> <code>print</code><code>(</code><code>'這十個數分别為:'</code><code>) </code><code>#列印輸入的亂序的10個數字</code>
<code> </code><code>10</code> <code>liorder </code><code>=</code> <code>[] </code><code>#定義一個新的空清單,用于放置取出的最小值</code>
<code> </code><code>11</code> <code>x </code><code>=</code> <code>0</code> <code>#定義一個while判斷的flag,初始值為0</code>
<code> </code><code>12</code> <code>while</code> <code>x </code><code>=</code><code>=</code> <code>0</code><code>: </code><code>#flag判斷</code>
<code> </code><code>13</code> <code>if</code> <code>li !</code><code>=</code> <code>[]: </code><code>#當li清單非空也就是沒有被取完所有數字的時候</code>
<code> </code><code>14</code> <code>m </code><code>=</code> <code>li[</code><code>0</code><code>] </code><code>#定義一個變量m,将li清單第一個值指派給m</code>
<code> </code><code>15</code> <code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>0</code><code>,</code><code>len</code><code>(li)): </code><code>#周遊li清單</code>
<code> </code><code>16</code> <code>if</code> <code>m > li[i]: </code><code>#如果m值(li[0])大于後面的數字</code>
<code> </code><code>17</code> <code>m </code><code>=</code> <code>li[i] </code><code>#将較小的數字指派給m,始終保持m值是li中最小值</code>
<code> </code><code>18</code> <code>liorder.append(m) </code><code>#将li中的最小值m添加到liorder中</code>
<code> </code><code>19</code> <code>li.remove(m) </code><code>#在原li清單中删除m元素</code>
<code> </code><code>20</code> <code>else</code><code>: </code><code>#如果li清單為空</code>
<code> </code><code>21</code> <code>x </code><code>=</code> <code>1</code> <code>#flag x指派為1,跳出while循環</code>
<code> </code><code>22</code> <code>print</code><code>(</code><code>'排序之後為:'</code><code>) </code><code>#列印排序後的清單</code>
本文轉自snc_snc 51CTO部落格,原文連結:http://blog.51cto.com/netsyscode/1749989,如需轉載請自行聯系原作者