>> x 1.2 >>> while x >> 經(jīng)常用 : while True: .... if ... : break .... for循環(huán): for iter_var i" />
while expression: suite_to_repeat
while 條件:
語(yǔ)句塊
不需要括號(hào)哦!
>>> x 1.2 >>> while x < 2: print(x) x += 0.2 1.2 1.4 1.5999999999999999 1.7999999999999998 1.9999999999999998 >>>
經(jīng)常用 :
while True: .... if ... : break ....
for iter_var in iterable: suite_to_repeat
for循環(huán)訪(fǎng)問(wèn)可迭代對(duì)象iterable的所有元素,iter_var被設(shè)置為可迭代對(duì)象的當(dāng)前元素。for循環(huán)可用于序列類(lèi)型,包括字符串、列表及元組,也可用于迭代器類(lèi)型,迭代器對(duì)象有一個(gè)next()方法,調(diào)用后返回下一個(gè)條目,所有條目迭代完成后,迭代器引發(fā)一個(gè)StopIteration異常告訴程序循環(huán)結(jié)束,for語(yǔ)句在內(nèi)部調(diào)用next()并捕獲異常。
for something in XXXX:
語(yǔ)句塊
即表示對(duì)XXXX中的每一個(gè)元素,執(zhí)行某些語(yǔ)句塊,XXXX可以是列表,字典,元組,迭代器等等。
>>> for x in range(0,10): print(x*x) 0 1 4 9 16 25 36 49 64 81
這是 for..else...語(yǔ)句
僅在沒(méi)有 break 的情況下執(zhí)行,或者說(shuō),只要你沒(méi)有 break,它就會(huì)執(zhí)行
>>> for n in range(99,81,-1): root = sqrt(n) if root == int(root): print (n) break else: print ("I didn't fint it") I didn't fint it
但你應(yīng)該盡可能使用列表推導(dǎo)式,因?yàn)樗奖?,清?/p>
>>> [x*x for x in range(1,5)] [1, 4, 9, 16] >>> [x**2 for x in range(1,10) if x % 2 ==0] [4, 16, 36, 64] >>> [(x,y) for x in range(1,3) for y in range(4,6)] [(1, 4), (1, 5), (2, 4), (2, 5)]
break、continue、pass:
break語(yǔ)句結(jié)束當(dāng)前循環(huán),跳轉(zhuǎn)到下條語(yǔ)句。continue語(yǔ)句終止當(dāng)前循環(huán),嘗試下一次迭代。pass語(yǔ)句表示不做任何事情。
循環(huán)中的else:
在循環(huán)中也可以有else,這與C/C++不同,else字句只在循環(huán)完成后執(zhí)行,也就是說(shuō)break語(yǔ)句會(huì)跳過(guò)else塊。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com