1绝葡、While循環(huán)語(yǔ)句
這是我學(xué)習(xí)python第三天,由于之前學(xué)習(xí)過(guò)c嗤谚、java等計(jì)算機(jī)語(yǔ)言棺蛛,雖然不算精通,但基本語(yǔ)法也還算熟悉呵恢,本來(lái)這次想直接跳過(guò)python基礎(chǔ)知識(shí)直接到下一階段鞠值,但想著不同語(yǔ)言還是有所區(qū)別,要把基礎(chǔ)知識(shí)掌握好渗钉,于是又從最基本的語(yǔ)法開(kāi)始學(xué)起彤恶。
while語(yǔ)句用于循環(huán)執(zhí)行程序钞钙,在某條件下,循環(huán)執(zhí)行某段程序声离,以處理需要重復(fù)處理的相同任務(wù)芒炼。基本形式為:
While判斷條件
執(zhí)行語(yǔ)句
執(zhí)行語(yǔ)言可以是單個(gè)或者多個(gè)語(yǔ)句塊术徊,判斷條件可以是任何表達(dá)式本刽,任何非0,或者非空的值均為true赠涮;此外"判斷條件"還可以是個(gè)常值子寓,表示循環(huán)必定成立。
流程為:
while語(yǔ)句還有另外兩個(gè)重要的命令continue和break來(lái)跳過(guò)循環(huán)笋除,continue用于跳過(guò)該次循環(huán)斜友,break則是用于退出循環(huán)。
需要注意的是:
1垃它、如果條件判斷語(yǔ)句永遠(yuǎn)為true鲜屏,循環(huán)將會(huì)無(wú)限的執(zhí)行下去,測(cè)試可以使用ctrl+c來(lái)中斷循環(huán)国拇。
2洛史、如果while循環(huán)體中只有一條語(yǔ)句,則可以將該語(yǔ)句與while寫(xiě)在同一行中酱吝,例如:while (flag): print 'Given flag is really true!'也殖。
2、for循環(huán)語(yǔ)句
for循環(huán)可以遍歷任何序列的項(xiàng)目掉瞳,如一個(gè)列表或者一個(gè)字符串毕源。
for循環(huán)的語(yǔ)法格式如下:
For迭代in序列
聲明
這里舉個(gè)簡(jiǎn)單的例子
另外一種執(zhí)行循環(huán)的遍歷方式是通過(guò)索引
這里定義一個(gè)索引變量index,為數(shù)組fruits的索引值陕习,通過(guò)fruits[index]訪問(wèn)數(shù)組中的值霎褐。len()返回列表的長(zhǎng)度,即元素的個(gè)數(shù)该镣。Range()返回一個(gè)序列的數(shù)冻璃。
Range()函數(shù)用法:
for與else連用
for中的語(yǔ)句和普通的沒(méi)有區(qū)別,else中的語(yǔ)句會(huì)在循環(huán)正常執(zhí)行完(即for不是通過(guò)break跳出而中斷的)的情況下執(zhí)行损合,類(lèi)似于while…else省艳。
練習(xí)題1:判斷兩個(gè)數(shù)字大小
原因:這是因?yàn)閜ython是對(duì)縮進(jìn)非常敏感的語(yǔ)言,在編譯時(shí)如果出現(xiàn)IndentationError:expected an indented block說(shuō)明此處需要縮進(jìn)嫁审。
解決辦法:只要在出現(xiàn)錯(cuò)誤的那一行跋炕,按空格或Tab(但不能混用)鍵縮進(jìn),編譯即可成功律适。
練習(xí)題2:石頭剪刀布
原因:32行使用的空格縮進(jìn)辐烂,33行使用的tab健縮進(jìn)遏插,當(dāng)都調(diào)整為空格縮進(jìn)時(shí),問(wèn)題解決纠修。
這里需要特別注意新的Python語(yǔ)法胳嘲,是不支持代碼對(duì)齊中混用TAB和空格的。