python基礎 循環結構程序設計(上)

循環結構有以下幾個基本結構:while語句,for語句,break語句,continue語句,以及循環結構解決問題的辦法。
循環結構是一種重複執行的程序結構。實際應用中,經常會碰到一些需要重複執行的步驟。如級數求和、統計報表等。python提供了兩種基本的循環結構語句——while語句、for語句。

一、while語句
1.格式:
(1)while 條件表達式 :
循環體
(2)while 條件表達式 :
循環體
else:
語句
while語句條件表達式的值是布爾型,表達式的值爲“真”或者“假”決定了循環繼續或者停止。
while語句的執行過程是:每一次循環之前計算機先判斷條件表達式的值,如果其布爾值爲真,就執行循環體,如此反覆執行,直到條件表達式的值爲布爾假,就結束循環。如果while後面有else語句,結束循環之後就執行else語句。

PS:(1)while語句的語法與if語句類似,要使用縮進來分割子句。
(2)while語句的條件表達式不需要用括號括起來,表達式後面必須有冒號。
(3)python與其他大多數語言不同,在while循環中可以使用else語句,即構成了while-else語句循環結構。

while語句是條件循環語句,大多數情況下用於解決不確定循環次數的問題——即只有當某條件成立時,循環纔會結束,否則循環將一直繼續循環下去。while語句也可用於解決確定循環次數的問題。使用while語句時,條件表達式的設置比較關鍵,表達式的正確與否決定了循環次數是否正確、循環是否能正常結束,從而避免程序進入死循環。
while語句還有一個特殊的用途是設計無限循環的程序,在一些特定的場合,循環需要無限期地執行下去,知道循環被強行退出。

2.while語句解決不確定循環次數的問題
不確定循環次數的問題是指循環之前不可預知循環執行了多少次,循環何時結束是由while語句的條件表達式來決定。
例:從鍵盤輸入若干個數,求所有輸入正數之和。當輸入整數爲負數時,結束該操作。

s=0
x=input("請輸入一個整數:")
while x>=0:
    s=s+x
    x=input("請輸入一個整數:")
print "整數之和=",s

運行結果:
請輸入一個整數:10
請輸入一個整數:2
請輸入一個整數:-5
整數之和=12

例:從鍵盤上輸入若干個字符,一邊輸入一邊輸出,當輸入“#”字符時終止該操作。

a=raw_input('請輸入字符,當輸入#時結束輸入操作:')
while a != '#'
    print "您輸入的字符是 "a
    a=raw_input('請輸入字符,當輸入#時結束輸入操作:')
else:
    print '輸入結束'

運行結果:
請輸入字符,當輸入#時結束輸入操作:a
請輸入字符,當輸入#時結束輸入操作:b
請輸入字符,當輸入#時結束輸入操作:c
請輸入字符,當輸入#時結束輸入操作:#
輸入結束

3.while語句解決確定循環次數問題
確定循環次數的問題是指循環之前可以預知循環即將執行的次數。爲了控制循環次數,通常在程序中設置一個計數變量,每次循環,該變量進行自增或自減操作,當變量值自增到大於設定的上限值或者自減到小於設定的下限值時,循環自動結束。

i,s=1,0
while i<=100TY
    s=s+i
    i+=1          #python中不支持i++,++i
print '1+2+3+...+100= ',s

運行結果:
1+2+3+…+100=5050

3.while語句用於無限循環
當while語句的條件表達式永遠爲布爾真時,循環將永遠不會結束,形成無限循環,也稱死循環。大多數循環結構設計都應避免進入死循環,但是在某些場合,有意設置的無限循環是非常有用的。例如,一個手機程序將持續自動運行直到關機或者掉電,手機的主程序便是一個無限循環的結構。
格式:

while True:
    循環體

此時條件表達式的值恆爲真,循環不會自動結束。爲了使得循環能夠結束,通常在循環體內嵌套if語句,判斷當某個特定的條件成立時,就執行break語句退出循環。

print '請輸入若干字符,當輸入#時則結束該操作'
while True:
    a=raw_input('請輸入一個字符:')
    if a !='#':
        print '您輸入的字符是: ',a
    else:
        break

輸出結果:
請輸入若干字符,當輸入#時則結束該操作
請輸入一個字符:a
您輸入的字符是:a
請輸入一個字符:b
您輸入的字符是:b
請輸入一個字符:#

4.while語句應用舉例
(1)級數求和
級數求和問題解決的關鍵是:觀察表達式中的相鄰兩項,找出規律,將規律轉化爲若干通式。爲了將複雜問題簡單化,通項將每一項的分子、分母、符號、求和等通式分開處理,這樣做的好處是利於查找問題。
(2)數據處理問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章