【Python基礎(chǔ)】7. for循環(huán) & while循環(huán)

本篇筆記知識點(diǎn):

  • for循環(huán)
  • while循環(huán)
  • 循環(huán)控制語句: - break 語句; - continue 語句; - pass 語句

循環(huán)語句

循環(huán)這種概念很重要,因?yàn)樗亲層?jì)算機(jī)自動完成重復(fù)工作的常見方式之一蚂踊。

編程語言提供了各種控制結(jié)構(gòu)究飞,允許更復(fù)雜的執(zhí)行路徑业踏。

循環(huán)語句允許我們執(zhí)行一個語句或語句組多次

在Python中,有兩種循環(huán): for循環(huán)while循環(huán):

  • 兩者的相同點(diǎn)在于都能循環(huán)做一件重復(fù)的事情乙帮;
  • 不同點(diǎn)在于饵筑,for循環(huán)是在序列窮盡時停止,while循環(huán)是在條件不成立時停止雷恃。

</br>

for循環(huán)

在Python中 for循環(huán)可以遍歷任何序列的項(xiàng)目疆股,如一個列表或者一個字符串等。
遍歷 - 對每個元素執(zhí)行相同的操作,通俗點(diǎn)說倒槐,就是把這個循環(huán)中的第一個元素到最后一個元素依次訪問一次.

  • for循環(huán)的流程圖:


    for 循環(huán).jpg

- for循環(huán)的基本結(jié)構(gòu)如下:

for 臨時變量 in 列表或者字符串等可迭代對象:
    循環(huán)滿足條件時執(zhí)行的代碼

for...in是Python程序員使用最多的語句旬痹,for 循環(huán)用于迭代容器對象中的元素,這些對象可以是列表讨越、元組两残、字典、集合把跨、文件人弓,甚至可以是自定義類或者函數(shù),例如:

  1. 作用于列表
  2. 作用于元組
  3. 作用于字符串
  4. 作用于集合
  5. 作用于字典
  6. 作用于文件

代碼:

# 1.for循環(huán)遍歷列表
Fruits=['apple','orange','banana','grape']
for fruit in Fruits:
    print(fruit)
print("結(jié)束遍歷")
# 2. 遍歷字符串
for str in 'abc':
    print(str)
 # 3. 遍歷字典:   
 for key,value in {"name":'Kaina',"age":22}.items():
    print("鍵---"+key)
    print("值---"+str(value))
 # 4. 遍歷文件
 for content in open("D:\\test.txt"):
    print(content)

for循環(huán)和range

for x in range(1,5):
    print(x)
print("注意:打印0-5的范圍內(nèi)的數(shù)着逐,不會包括5")

for x in range(1,5,2):
    print(x)
print(1)
print("三個參數(shù):起始位置(默認(rèn)0)崔赌,結(jié)束位置(不包含)意蛀,步長(默認(rèn)為1,可以為負(fù)數(shù))")

for x in range (5,1,-2):
    print(x)


While 循環(huán)語句

while 語句用于循環(huán)執(zhí)行程序健芭,即在某條件下浸间,循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的相同任務(wù)吟榴。

執(zhí)行語句可以是單個語句或語句塊魁蒜。判斷條件可以是任何表達(dá)式,任何非零吩翻、或非空(null)的值均為true兜看。

當(dāng)判斷條件假false時,循環(huán)結(jié)束狭瞎。

執(zhí)行流程圖如下:


while循環(huán).jpg

while循環(huán)的基本結(jié)構(gòu)如下:

 while 條件:
        條件滿足時细移,做的事情1
        條件滿足時,做的事情2
        條件滿足時熊锭,做的事情3
        ...(省略)...

例:

 i = 0
    while i < 5:
        print("當(dāng)前是第%d次執(zhí)行循環(huán)" % (i + 1))
        print("i=%d" % i)
        I+=1

運(yùn)行結(jié)果:

當(dāng)前是第1次執(zhí)行循環(huán)
    I=0
    當(dāng)前是第2次執(zhí)行循環(huán)
    I=1
    當(dāng)前是第3次執(zhí)行循環(huán)
    I=2
    當(dāng)前是第4次執(zhí)行循環(huán)
    I=3
    當(dāng)前是第5次執(zhí)行循環(huán)
    I=4

無限循環(huán)

我們可以通過設(shè)置條件表達(dá)式永不為False達(dá)到無限循環(huán)弧轧,例如:

#1.死循環(huán)
I=1
while I<9:
    print(str(i)+"只羊")

#2.使用一個自增變量來約束條件
I=1
while I<4:
    print(str(i)+"只羊")
    # 需要一個變量來約束while中的條件
    I+=1
  • 可以使用CTRL +C退出當(dāng)前的無限循環(huán)。
  • 無限循環(huán)在服務(wù)器上客戶端的實(shí)時請求非常有用碗殷。

循環(huán)語句的控制語句: ? break, continue

continue:當(dāng)前這次的循環(huán)跳出精绎,繼續(xù)下一個循環(huán)
break:跳出當(dāng)前整個循環(huán)

  • 在while循環(huán)中使用break關(guān)鍵字
I=0
while True:
    I+=1
    if i==10:
        break
       #print("此內(nèi)容無法打印锌妻!")
print("循環(huán)的次數(shù)為:"+str(i))

運(yùn)行結(jié)果:循環(huán)的次數(shù)為:10
說明:使用break關(guān)鍵字代乃,不在執(zhí)行余下的代碼并退出整個循環(huán)。

  • 在while循環(huán)中使用continue關(guān)鍵字:
number=0
while number<10:
    number+=1
    if number%2==0:
        continue
    print(number)

for...else 和 while..else

循環(huán)語句可以有 else 子句仿粹,它在窮盡列表(以for循環(huán))或條件變?yōu)?false (以while循環(huán))導(dǎo)致循環(huán)終止時被執(zhí)行,但循環(huán)被break終止時不執(zhí)行搁吓。

for...else
在 python 中,for … else 表示這樣的意思吭历,for 中的語句和普通的沒有區(qū)別堕仔,else 中的語句會在循環(huán)正常執(zhí)行完(即 for 不是通過 break 跳出而中斷的)的情況下執(zhí)行,while … else 也是一樣晌区。

for num in range(10,20):  # 迭代 10 到 20 之間的數(shù)字
   for i in range(2,num): # 根據(jù)因子迭代
      if num%i == 0:      # 確定第一個因子
         j=num/i          # 計(jì)算第二個因子
         print '%d 等于 %d * %d' % (num,i,j)
         break            # 跳出當(dāng)前循環(huán)
   else:                  # 循環(huán)的 else 部分
      print num, '是一個質(zhì)數(shù)'

運(yùn)行結(jié)果:

0 等于 2 * 5
11 是一個質(zhì)數(shù)
12 等于 2 * 6
13 是一個質(zhì)數(shù)
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一個質(zhì)數(shù)
18 等于 2 * 9
19 是一個質(zhì)數(shù)

while...else
在Python的while循環(huán)中會有whlie...else語句摩骨,其else語句只有在while正常結(jié)束時才會被執(zhí)行,如果while循環(huán)被break語句結(jié)束契讲,是不會執(zhí)行else語句的仿吞。
即,在 python 中,while … else 在循環(huán)條件為 false 時執(zhí)行 else 語句塊:

var = 6
while var > 0:
   var = var -1
   if var == 3:             # 變量為 3 時跳過輸出
    break
   print ('當(dāng)前變量值 :', var)
else:
    print("Good bye!")

執(zhí)行結(jié)果:

當(dāng)前變量值 : 5
當(dāng)前變量值 : 4
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捡偏,一起剝皮案震驚了整個濱河市唤冈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌银伟,老刑警劉巖你虹,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绘搞,死亡現(xiàn)場離奇詭異,居然都是意外死亡傅物,警方通過查閱死者的電腦和手機(jī)夯辖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來董饰,“玉大人蒿褂,你說我怎么就攤上這事∽湓荩” “怎么了啄栓?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長也祠。 經(jīng)常有香客問我昙楚,道長,這世上最難降的妖魔是什么诈嘿? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任堪旧,我火速辦了婚禮,結(jié)果婚禮上奖亚,老公的妹妹穿的比我還像新娘淳梦。我一直安慰自己,他們只是感情好遂蛀,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布谭跨。 她就那樣靜靜地躺著干厚,像睡著了一般李滴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蛮瞄,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天所坯,我揣著相機(jī)與錄音,去河邊找鬼挂捅。 笑死芹助,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的闲先。 我是一名探鬼主播状土,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼伺糠!你這毒婦竟也來了蒙谓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤训桶,失蹤者是張志新(化名)和其女友劉穎累驮,沒想到半個月后酣倾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谤专,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年躁锡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片置侍。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡映之,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜡坊,到底是詐尸還是另有隱情惕医,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布算色,位于F島的核電站抬伺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏灾梦。R本人自食惡果不足惜峡钓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望若河。 院中可真熱鬧能岩,春花似錦、人聲如沸萧福。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鲫忍。三九已至膏燕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悟民,已是汗流浹背坝辫。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留射亏,地道東北人近忙。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像智润,于是被迫代替她去往敵國和親及舍。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

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

  • 一窟绷、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 5,782評論 2 16
  • 碎片式學(xué)習(xí)是個騙局 今年是個人IP爆炸的一年锯玛。從年初開始,踏著互聯(lián)網(wǎng)的浪潮钾麸,在朋友圈里開始瘋傳各種公眾號的線上免費(fèi)...
    牙牙囈語閱讀 1,197評論 1 0
  • 不知為什么更振,他跟法比的交流沖動總是錯位炕桨,法比來跟他談話時,他恰恰在享受孤寂肯腕;而他從孤寂中出來献宫,渴望跟法比交談時,法...
    碎浪浪閱讀 271評論 0 0
  • 1实撒、窗口的方式 窗口的方式:層疊窗口姊途、平鋪、多窗格 2知态、窗口設(shè)計(jì) 對話框是另一個房間捷兰,去之前要有個好理由 把功能置...
    IreliaDE意志閱讀 399評論 0 0
  • 天空中布滿了密密麻麻的烏云,它們互相擁擠著负敏,黑著臉贡茅。五分鐘后,傾盆大雨就落下來了其做,它們打在我身上顶考,馬上就與我融為了...
    飛云夏閱讀 1,054評論 10 4