Python 循環(huán)語句

Python 循環(huán)語句

程序在一般情況下是按順序執(zhí)行的。
編程語言提供了各種控制結(jié)構(gòu)嘉赎,允許更復(fù)雜的執(zhí)行路徑痴颊。
循環(huán)語句允許我們執(zhí)行一個語句或語句組多次,下面是在大多數(shù)編程語言中的循環(huán)語句的一般形式:


Python循環(huán)語句形式

Python提供了for循環(huán)和while循環(huán)(在Python中沒有do..while循環(huán)):

循環(huán)類型 描述
while循環(huán) 在給定的判斷條件為 true 時執(zhí)行循環(huán)體约素,否則退出循環(huán)體。
for循環(huán) 重復(fù)執(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í)行過程中終止當(dāng)前循環(huán),跳出該次循環(huán)乞而,執(zhí)行下一次循環(huán)送悔。
pass語句 pass是空語句,是為了保持程序結(jié)構(gòu)的完整性爪模。

  • Python While循環(huán)語句

Python 編程中 while 語句用于循環(huán)執(zhí)行程序欠啤,即在某條件下,循環(huán)執(zhí)行某段程序呻右,以處理需要重復(fù)處理的相同任務(wù)跪妥。其基本形式為:

while 判斷條件:
    執(zhí)行語句……

執(zhí)行語句可以是單個語句或語句塊。判斷條件可以是任何表達式声滥,任何非零眉撵、或非空(null)的值均為true。
當(dāng)判斷條件假false時落塑,循環(huán)結(jié)束纽疟。
執(zhí)行流程圖如下:


while循環(huán)執(zhí)行流程圖

Gif 演示 Python while 語句執(zhí)行過程


gif演示while執(zhí)行過程

while 語句時還有另外兩個重要的命令 continue,break 來跳過循環(huán)憾赁,continue 用于跳過該次循環(huán)污朽,break 則是用于退出循環(huán),此外"判斷條件"還可以是個常值龙考,表示循環(huán)必定成立蟆肆,具體用法如下:
# 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
while 1:            # 循環(huán)條件為1必定成立
    print i         # 輸出1~10
    i += 1
    if i > 10:     # 當(dāng)i大于10時跳出循環(huán)
        break
  • 無限循環(huán)
    如果條件判斷語句永遠為 true缓溅,循環(huán)將會無限的執(zhí)行下去蛇损,如下實例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
var = 1
while var == 1 :  # 該條件永遠為true,循環(huán)將無限執(zhí)行下去
   num = raw_input("Enter a number  :")
   print "You entered: ", num
 
print "Good bye!"

以上實例輸出結(jié)果:

Enter a number :20
You entered: 20
Enter a number :29
You entered: 29
Enter a number :3
You entered: 3
Enter a number between :Traceback (most recent call last):
File "test.py", line 5, in <module>

num = raw_input("Enter a number :")

KeyboardInterrupt

注意:以上的無限循環(huán)你可以使用 CTRL+C 來中斷循環(huán)。

  • 循環(huán)使用else語句
    在 python 中淤齐,while … else 在循環(huán)條件為 false 時執(zhí)行 else 語句塊:
#!/usr/bin/python
 
count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"
  • 簡單語句組
    類似 if 語句的語法股囊,如果你的 while 循環(huán)體中只有一條語句,你可以將該語句與while寫在同一行中更啄, 如下所示:
#!/usr/bin/python
 
flag = 1
 
while (flag): print 'Given flag is really true!'
 
print "Good bye!"

注意:以上的無限循環(huán)你可以使用 CTRL+C 來中斷循環(huán)稚疹。
實例 while循環(huán) - 九九乘法表

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#九九乘法表

i = 1
while i :
    j = 1
    while j:
        print j ,"*", i ," = " , i * j , '  ',
        if i == j :
            break

        j += 1
        if j >= 10:
            break
    
    print "\n"
    i += 1
    if i >= 10:
        break

  • Python for循環(huán)語句

Python for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串锈死。
for循環(huán)的語法格式如下:

for iterating_var in sequence:
   statements(s)
for循環(huán)流程圖
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
for letter in 'Python':     # 第一個實例
   print '當(dāng)前字母 :', letter
 
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二個實例
   print '當(dāng)前水果 :', fruit
 
print "Good bye!"
  • 通過序列索引迭代
    另外一種執(zhí)行循環(huán)的遍歷方式是通過索引贫堰,如下實例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
   print '當(dāng)前水果 :', fruits[index]
 
print "Good bye!"

以上實例我們使用了內(nèi)置函數(shù) len() 和 range(),函數(shù) len() 返回列表的長度,即元素的個數(shù)待牵。 range返回一個序列的數(shù)。


  • 循環(huán) 使用else語句
    在 python 中喇勋,for … else 表示這樣的意思缨该,for 中的語句和普通的沒有區(qū)別,else 中的語句會在循環(huán)正常執(zhí)行完(即 for 不是通過 break 跳出而中斷的)的情況下執(zhí)行川背,while … else 也是一樣贰拿。
    例子:打印質(zhì)數(shù)
#!/usr/bin/python
# -*- coding: UTF-8 -*-

for num in range(10, 20): 
    for i in range(2, num):
        if num%i == 0:
            j=num/i
            print '%d 等于 %d * %d' % (num,i,j)
            break;
    else:
        print num, '是一個質(zhì)數(shù)'

  • Python循環(huán)嵌套

Python 語言允許在一個循環(huán)體里面嵌入另一個循環(huán)。
Python for 循環(huán)嵌套語法:

for iterating_var in sequence:
   for iterating_var in sequence:
      statements(s)
   statements(s)

Python while 循環(huán)嵌套語法:

while expression:
   while expression:
      statement(s)
   statement(s)

你可以在循環(huán)體內(nèi)嵌入其他的循環(huán)體熄云,如在while循環(huán)中可以嵌入for循環(huán)膨更, 反之,你可以在for循環(huán)中嵌入while循環(huán)缴允。
實例:
以下實例使用了嵌套循環(huán)輸出2~100之間的素數(shù):

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
#!/usr/bin/python
# -*- coding: UTF-8 -*-

num=[]
i=2
for i in range(2, 100):
    j=2
    for j in range(2, i):
        if(i%j==0):
            break;
    else:
        num.append(i)
        
print(num)


  • Python break語句

Python break語句荚守,就像在C語言中,打破了最小封閉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

break流程圖

break 實例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
for letter in 'Python':     # 第一個實例
   if letter == 'h':
      break
   print '當(dāng)前字母 :', letter
  
var = 10                    # 第二個實例
while var > 0:              
   print '當(dāng)前變量值 :', var
   var = var -1
   if var == 5:   # 當(dāng)變量 var 等于 5 時退出循環(huán)
      break
 
print "Good bye!"

  • Python continue語句

Python continue 語句跳出本次循環(huán),而break跳出整個循環(huán)谷市。
continue 語句用來告訴Python跳過當(dāng)前循環(huán)的剩余語句蛔垢,然后繼續(xù)進行下一輪循環(huán)。
continue語句用在while和for循環(huán)中歌懒。
Python 語言 continue 語句語法格式如下:
continue

continue流程圖

continue實例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
for letter in 'Python':     # 第一個實例
   if letter == 'h':
      continue
   print '當(dāng)前字母 :', letter
 
var = 10                    # 第二個實例
while var > 0:              
   var = var -1
   if var == 5:
      continue
   print '當(dāng)前變量值 :', var
print "Good bye!"

  • Python pass語句

Python pass是空語句啦桌,是為了保持程序結(jié)構(gòu)的完整性。
pass 不做任何事情,一般用做占位語句甫男。
Python 語言 pass 語句語法格式如下:
pass
pass實例:

#!/usr/bin/python
# -*- coding: UTF-8 -*- 

# 輸出 Python 的每個字母
for letter in 'Python':
   if letter == 'h':
      pass
      print '這是 pass 塊'
   print '當(dāng)前字母 :', letter

print "Good bye!"
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末且改,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子板驳,更是在濱河造成了極大的恐慌又跛,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件若治,死亡現(xiàn)場離奇詭異慨蓝,居然都是意外死亡,警方通過查閱死者的電腦和手機端幼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門礼烈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人婆跑,你說我怎么就攤上這事此熬。” “怎么了滑进?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵犀忱,是天一觀的道長。 經(jīng)常有香客問我扶关,道長阴汇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任节槐,我火速辦了婚禮搀庶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疯淫。我一直安慰自己地来,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布熙掺。 她就那樣靜靜地躺著未斑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪币绩。 梳的紋絲不亂的頭發(fā)上蜡秽,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天,我揣著相機與錄音缆镣,去河邊找鬼芽突。 笑死,一個胖子當(dāng)著我的面吹牛董瞻,可吹牛的內(nèi)容都是我干的寞蚌。 我是一名探鬼主播田巴,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挟秤!你這毒婦竟也來了壹哺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤艘刚,失蹤者是張志新(化名)和其女友劉穎管宵,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體攀甚,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡箩朴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了秋度。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片炸庞。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖静陈,靈堂內(nèi)的尸體忽然破棺而出燕雁,到底是詐尸還是另有隱情,我是刑警寧澤鲸拥,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站僧免,受9級特大地震影響刑赶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜懂衩,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一撞叨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浊洞,春花似錦牵敷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至苫亦,卻和暖如春毛肋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背屋剑。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工润匙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人唉匾。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓孕讳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子厂财,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 1.1 while循環(huán)語法結(jié)構(gòu) 當(dāng)需要語句不斷的重復(fù)執(zhí)行芋簿,可以使用while循環(huán) 語句while_sutie會被連...
    Ke爺閱讀 1,131評論 0 0
  • Python有兩個主要的循環(huán)結(jié)構(gòu)益咬,一個是while語句,屬于通用循環(huán)帜平;另一個是for語句幽告,主要用于遍歷序列對象內(nèi)的...
    勇赴閱讀 373評論 2 0
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,451評論 0 17
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)裆甩,也就是一...
    悟名先生閱讀 4,153評論 0 13
  • 每天晚上把第二天要做的事情冗锁,計劃出來寫下來。并且預(yù)計做這件事情所需要花費的時間嗤栓。每件事情在第二天找出一個合適...
    大徐的日常閱讀 698評論 0 0