天天看點

python練習

練習1

讓使用者一直輸入數字,如果輸入的不是數字就報錯,如果輸入pc就退出并算出數字之和

<code>#!/usr/bin/evn python</code>

<code>total </code><code>=</code> <code>0</code>

<code>while</code> <code>True</code><code>:</code>

<code>    </code><code>input</code> <code>=</code> <code>raw_input</code><code>(</code><code>'input something: '</code><code>)</code>

<code>    </code><code>if</code> <code>input</code><code>.isdigit():</code>

<code>        </code><code>total </code><code>+</code><code>=</code> <code>int</code><code>(</code><code>input</code><code>)</code>

<code>    </code><code>elif</code> <code>input</code> <code>=</code><code>=</code> <code>'pc'</code><code>:</code>

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

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

<code>        </code><code>print</code> <code>"error"</code>

<code>print</code> <code>total</code>

練習2

讓使用者一直輸入數字,如果輸入的不是數字就報錯,如果什麼都沒有輸入就退出。并算出輸入數字的平均值

<code>input_list </code><code>=</code> <code>[]</code>

<code>        </code><code>input_list.append(</code><code>int</code><code>(</code><code>input</code><code>))</code>

<code>    </code><code>elif</code> <code>len</code><code>(</code><code>input</code><code>) </code><code>=</code><code>=</code> <code>0</code><code>:</code>

<code>print</code> <code>reduce</code><code>(</code><code>lambda</code> <code>x,y:x</code><code>+</code><code>y,input_list,</code><code>0</code><code>)</code><code>/</code><code>len</code><code>(input_list)</code>

解釋:

<code>len</code>

<code> </code> 

<code>傳回序列的長度</code>

<code>&gt;&gt;&gt; len([1,2,3])</code>

<code>3</code>

<code> </code><code>内建函數</code>

<code>append(x) 追加到鍊尾</code>

<code>reduce </code>

<code>reduce(</code><code>function</code><code>,sequence,[init]) </code>

<code>傳回一個單值為,計算步驟為 :</code>

<code>第1個結果=</code><code>function</code><code>(sequence[0],sequence[1])</code>

<code>第2個結果=</code><code>function</code><code>(第1個結果,sequence[2])</code>

<code>傳回最後一個計算得值</code>

<code>如 reduce(lambda x,y:x+y,range(3),99) 的計算為</code>

<code>99+0=99 =&gt; 99+1=100 =&gt; 100+2=102</code>

<code>傳回102</code>

<code>注:實際使用中用内建函數</code><code>sum</code><code>來完成這個累加更合适,如這裡等價</code><code>sum</code><code>(range(3),99)</code>

<code></code>練習3

周遊一個序列 ['C','js','python','js','css','js','html','node'],統計這個序列中,js出現的次數

<code>#!/usr/bin/env python</code>

<code>list</code> <code>=</code> <code>[</code><code>'c'</code><code>,</code><code>'python'</code><code>,</code><code>'js'</code><code>,</code><code>'css'</code><code>,</code><code>'html'</code><code>,</code><code>'node'</code><code>,</code><code>'js'</code><code>]</code>

<code>a</code><code>=</code><code>{}</code>

<code>for</code> <code>i </code><code>in</code> <code>list</code><code>:</code>

<code>    </code><code>print</code> <code>i</code>

<code>    </code><code>if</code> <code>list</code><code>.count(i)&gt;</code><code>1</code><code>:</code>

<code>       </code><code>a[i]</code><code>=</code><code>list</code><code>.count(i)</code>

<code>print</code> <code>(a)</code>

<code></code>

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