Python 循環(huán)語句
前提:如果讓你1-100之間的整數(shù),你用程序應該怎么實現(xiàn)。
本章節(jié)將向大家介紹Python的循環(huán)語句,程序在一般情況下是按順序執(zhí)行的。
編程語言提供了各種控制結構,允許更復雜的執(zhí)行路徑。
循環(huán)語句允許我們執(zhí)行一個語句或語句組多次,下面是在大多數(shù)編程語言中的循環(huán)語句的一般形式:
Python提供了for循環(huán)和while循環(huán)
循環(huán)類型 | 描述 |
while 循環(huán) | 在給定的判斷條件為 true 時執(zhí)行循環(huán)體,否則退出循環(huán)體。 |
for 循環(huán) | 重復執(zhí)行語句 |
嵌套循環(huán) | 你可以在while循環(huán)體中嵌套for循環(huán) |
循環(huán)控制語句
循環(huán)控制語句可以更改語句執(zhí)行的順序。Python支持以下循環(huán)控制語句:
控制語句 | 描述 |
break 語句 | 在語句塊執(zhí)行過程中終止循環(huán),并且跳出整個循環(huán) |
continue 語句 | 在語句塊執(zhí)行過程中終止當前循環(huán),跳出該次循環(huán),執(zhí)行下一次循環(huán)。 |
pass 語句 | pass是空語句,是為了保持程序結構的完整性。 |
Python break語句
Python break語句,打破了最近封閉for或while循環(huán)。
break語句用來終止循環(huán)語句,即循環(huán)條件沒有False條件或者序列還沒被完全遞歸完,也會停止執(zhí)行循環(huán)語句。
break語句用在while和for循環(huán)中。
如果您使用嵌套循環(huán),break語句將停止執(zhí)行最深層的循環(huán),并開始執(zhí)行下一行代碼。
Python語言 break 語句語法:
break
流程圖:
實例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/usr/bin/python for letter in 'Python' : # First Example if letter == 'h' : break print 'Current Letter :' , letter var=10 # Second Example whilevar>0: print 'Current variable value :' ,var var=var-1 ifvar==5: break print "Good bye!" |
Python continue語句
Python continue 語句跳出本次循環(huán),而break跳出整個循環(huán)。
continue 語句用來告訴Python跳過當前循環(huán)的剩余語句,然后繼續(xù)進行下一輪循環(huán)。
continue語句用在while和for循環(huán)中。
Python 語言 continue 語句語法格式如下:
continue
流程圖:
實例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/usr/bin/python # -*- coding: UTF-8 -*- for letter in 'Python' : # 第一個實例 if letter == 'h' : continue print '當前字母 :' , letter var=10 # 第二個實例 whilevar>0: var=var-1 ifvar==5: continue print '當前變量值 :' ,var print "Good bye!" |
實例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # continue 和 break 用法 i =1 while i <10: i +=1 if i%2>0: # 非雙數(shù)時跳過輸出 continue print i # 輸出雙數(shù)2、4、6、8、10 i =1 while1: # 循環(huán)條件為1必定成立 print i # 輸出1~10 i +=1 if i >10: # 當i大于10時跳出循環(huán) break |
實例:取經(jīng)的路上
1 | <span style= "font-family:arial, helvetica, sans-serif;font-size:18px;" ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > for < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >i < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > in < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(0,204,204);" >range< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >(< /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(249,113,187);" >1< /span ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >,< /span ><span style= "font-size:16px;font-family:'宋體';color:rgb(249,113,187);" >11< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >)< /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >:<br> < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > if < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >i < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >== < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(249,113,187);" >5< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >:<br> < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" >print < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > '</span></strong><strong><span style="font-size:16px;font-family:' 宋體 ';color:rgb(133,205,0);">睡會覺' <br> < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > continue <br> if < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >i < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >== < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(249,113,187);" >80< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >:<br> < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" >print < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > '</span></strong><strong><span style="font-size:16px;font-family:' 宋體 ';color:rgb(133,205,0);">太累了,不想去了,就在女兒國吧' <br> < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > break <br> print < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > '</span></strong><strong><span style="font-size:16px;font-family:' 宋體 ';color:rgb(133,205,0);">在取經(jīng)的路上,次數(shù)%d' < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >% < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >i< /span >< /span > |
Python for循環(huán)語句
Python for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串。
語法:
for循環(huán)的語法格式如下:
for iterating_var in sequence:
statements(s)
流程圖:
實例:
1 2 3 4 5 6 7 8 9 | # -*- coding: UTF-8 -*- for letter in 'Python' : # 第一個實例 print '當前字母 :' , letter fruits =[ 'banana' , 'apple' , 'mango' ] for fruit in fruits: # 第二個實例 print '當前字母 :' , fruit print "Good bye!" |
以上實例輸出結果:
1 2 3 4 5 6 7 8 9 10 | 當前字母: P 當前字母: y 當前字母: t 當前字母: h 當前字母: o 當前字母: n 當前字母: banana 當前字母: apple 當前字母: mango Good bye! |
通過序列索引迭代(遍歷)
另外一種執(zhí)行循環(huán)的遍歷方式是通過索引,如下實例:
1 2 3 4 5 6 7 | # -*- coding: UTF-8 -*- fruits =[ 'banana' , 'apple' , 'mango' ] for index in range(len(fruits)): print '當前水果 :' , fruits[index] print "Good bye!" |
以上實例輸出結果:
1 2 3 4 | 當前水果: banana 當前水果: apple 當前水果: mango Good bye! |
以上實例我們使用了內置函數(shù) len() 和 range(),函數(shù) len() 返回列表的長度,即元素的個數(shù)。 range返回一個序列的數(shù)。
實例:求1到100的和
1 | <span style= "font-family:arial, helvetica, sans-serif;font-size:18px;" > sum = 0<br>< /span > |
for x in range(101):
sum = sum + x
print sum
實例:遍歷字典
1 | <span style= "font-family:arial, helvetica, sans-serif;font-size:18px;" ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);background:rgb(77,68,77);" >classmates< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >= [< /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > 'Madking' < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >,< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > 'Agon' < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >, < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > 'Michael' < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >, < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > 'Bob' < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >, < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > 'Tracy' < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >]<br>< /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > for < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >cls < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > in < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);background:rgb(70,70,77);" >classmates< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >:<br> < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" >print < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >cls< /span >< /span > |
實例:從第一個列表中每次取出一個,從第二個列表中也每次取出一個,組合成一個新的列表,新列表中包含所有組合
1 | <span style= "font-family:arial, helvetica, sans-serif;font-size:18px;" ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >List1 < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >= [< /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > 'zi' < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >, < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > 'qiang' < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >, < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > 'xue' < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >, < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(133,205,0);" > 'tang' < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >]<br>< /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);background:rgb(77,68,77);" >List2< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >= [< /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(249,113,187);" >1< /span ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >, < /span ><span style= "font-size:16px;font-family:'宋體';color:rgb(249,113,187);" >2< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >]<br><br>< /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >new_list < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >= []<br><br>< /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > for < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >m < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > in < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >List1< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >:<br> < /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > for < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >n < /span ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" > in < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);background:rgb(70,70,77);" >List2< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >:<br> < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >new_list.append<strong>(< /strong >< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >[< /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >m, n< /span ><strong><span style= "font-size:16px;font-family:'宋體';color:#FFFFFF;" >]< /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >)<br><br>< /span >< /strong ><strong><span style= "font-size:16px;font-family:'宋體';color:rgb(204,153,0);" >print < /span >< /strong ><span style= "font-size:16px;font-family:'宋體';color:rgb(155,194,142);" >new_list< /span >< /span > |
實例:從一個列表中每次取出兩個,找出所有組合方式
1 2 3 4 5 6 | List = [1, 2, 3, 4, 5] length = len(List) for x in range(0, length-1): for y in range(x+1, length): print List[x], List[y] |
實例:for循環(huán)輸出99乘法表
for i in range(1,10):
for j in range(1,i+1):
print '%d*%d=%d' % (j,i,i*j),
print '\n'
大家課后把for 改成while循環(huán)來實現(xiàn)
Python for循環(huán)語句
Python for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串。
語法:
for循環(huán)的語法格式如下:
1 2 | for iterating_var in sequence: statements(s) |
流程圖:
實例:
1 2 3 4 5 6 7 | # -*- coding: UTF-8 -*- for letter in 'Python' : # 第一個實例 print '當前字母 :' , letter fruits = [ 'banana' , 'apple' , 'mango' ] for fruit in fruits: # 第二個實例 print '當前字母 :' , fruit print "Good bye!" |
以上實例輸出結果:
1 2 3 4 5 6 7 8 9 10 | 當前字母 : P 當前字母 : y 當前字母 : t 當前字母 : h 當前字母 : o 當前字母 : n 當前字母 : banana 當前字母 : apple 當前字母 : mango Good bye! |
通過序列索引迭代(遍歷)
另外一種執(zhí)行循環(huán)的遍歷方式是通過索引,如下實例:
1 2 3 4 5 | # -*- coding: UTF-8 -*- fruits = [ 'banana' , 'apple' , 'mango' ] for index in range(len(fruits)): print '當前水果 :' , fruits[index] print "Good bye!" |
以上實例輸出結果:
1 2 3 4 | 當前水果 : banana 當前水果 : apple 當前水果 : mango Good bye! |
以上實例我們使用了內置函數(shù) len() 和 range(),函數(shù) len() 返回列表的長度,即元素的個數(shù)。 range返回一個序列的數(shù)。
實例:求1到100的和
1 2 3 4 | sum = 0 for x in range(101): sum = sum + x print sum |
實例:遍歷字典
1 2 3 | classmates = [ 'Madking' , 'Agon' , 'Michael' , 'Bob' , 'Tracy' ] for cls in classmates: print cls |
實例:從第一個列表中每次取出一個,從第二個列表中也每次取出一個,組合成一個新的列表,新列表中包含所有組合
1 2 3 4 5 6 7 | List1 = [ 'zi' , 'qiang' , 'xue' , 'tang' ] List2 = [1, 2] new_list = [] for m in List1: for n in List2: new_list.append([m, n]) print new_list |
實例:從一個列表中每次取出兩個,找出所有組合方式
1 2 3 4 5 6 | List = [1, 2, 3, 4, 5] length = len(List) for x in range(0, length-1): for y in range(x+1, length): print List[x], List[y] |
實例:for循環(huán)輸出99乘法表
1 2 3 4 | for i in range(1,10): for j in range(1,i+1): print '%d*%d=%d' % (j,i,i*j), print '\n' |
大家課后把for 改成while循環(huán)來實現(xiàn)
本文出自 “一盞燭光” 博客,謝絕轉載!
更多建議: