學習Python(1)——流程式控制制

來源:互聯網
上載者:User

我是按照Python 2.5附帶的文檔來學的。文檔很長,而且是英文的,我想以後尋找起來會不太方便,所以將所學到的東西記在這裡。因為有關Python更基礎的東西自己早已知道,所以在這裡就省略了。直接從比較新的部分學起。

if語句

問題:從鍵盤讀入一個整數n,輸出sgn(n)。

x=int(raw_input("Input an integer: "))
if x==0:
    print 0
elif x>0:
    print 1
else:
    print -1

這個例子很簡單,和其它語言沒什麼區別,相關用法都是一樣的。只需注意一下elif是else if的縮寫,別寫錯了就行。

for語句

問題:列印中一個List中的字串和每個的長度。

a=['cat','window','defenestrate']
for x in a:
    print x,len(x)

這個代碼更加簡單,要注意的僅僅是枚舉List元素時可以簡單地用in這個運算子。

問題:將上面字串List中長度大於6的元素插入到List的頭部,依次輸出。

a=['cat','window','defenestrate']
for x in a[:]:
    if len(x)>6:
        a.insert(0,x)
for x in a:
    print x

第一個迴圈裡用的是for x in a[:],Python文檔認為在迴圈中直接修改一個序列同時再枚舉是不安全的,如果需要修改的話要產生一個Copy,再這個Copy中進行枚舉。

It is not safe to modify the sequence being iterated over in the loop (this can only happen for mutable sequence types, such as lists). If you need to modify the list you are iterating over (for example, to duplicate selected items) you must iterate over a copy. The slice notation makes this particularly convenient.

range()函數

range()函數可以產生一個等差數列。例如,range(n)的結果就是一個包含0~n-1中的所有整數的List,range(m,n)結果是在[m,n)中的所有整數的List,而range(m,n,d)剛表示從m開始,到不超過n-1的以d為公差的List。

break和continue語句,以及在和迴圈語句一起使用的else語句

break和continue的作用和C語言中的一樣,就不寫了。

值得注意的是,for和while語句後可以和else引導的語句搭配。顯然,它的意思是說在迴圈條件不再成立時用執行的操作。文檔中的例子是一個判斷[2,10)中每個整數是否是質數的程式。

for n in range(2,10):
    for x in range(2,n):
        if n%x==0:
            print n,'equals',x,'*',n/x
            break
    else:
        print n,'is a prime number'

pass語句

pass就是什麼也不做,相當於一個空語句。

The pass statement does nothing. It can be used when a statement is required syntactically but the program requires no action. For example:

while True:
    pass # Busy-wait for keyboard interrupt

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.