迴圈結構有以下幾個基本結構: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)資料處理問題
c 程式設計基礎 迴圈結構for
1 求小數的某一位數字 分數a b化為小數後,小數點後第n位數字是多少?輸入 三個正整數,a,b,n 0 a b 100,1 n 10000 相鄰兩個數用空格隔開 輸出 乙個數字 樣例輸入 1 2 1 樣例輸出 5 實現 include include using namespace std int...
c 程式設計基礎 迴圈結構while
1 級數求和 已知 sn 1 1 2 1 3 1 n 顯然對於任意乙個整數k,當n足夠大的時候,sn 大於k.現給出乙個整數k 1 k 15 要求計算出乙個最小的n,使得sn k 輸入 乙個整數k 1 k 15 輸出 乙個整數 樣例輸入 1樣例輸出 2 實現 include using namesp...
Python實驗四 迴圈結構程式設計
1.寫出下列程式的執行結果 i 1while i 1 if i 4 print i i 1break print i i 22.寫出下列程式的執行結果 sum j 1 while j 3 f 1for i in range 2 2 j 1 f i sum f j 1print sum sum 3.閱...