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,如需转载请自行联系原作者