日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python系列(12)——可以讓程序一直執(zhí)行的循環(huán)語句

 靜幻堂 2018-08-18
前端兩分鐘 2018-08-14 22:48:17

首先說下循環(huán)的需求場景,假如你想計算1-10的所有數(shù)字的和,該怎么用程序計算?1+2+3+4+5+...+10來計算?好,可以,“+”號運算符用的不錯,那么,我要算1-100的和呢?不要告訴我你要手敲到100?(笑哭的表情),這時,循環(huán)語句就派上極大的用場啦?。?!

那么,先對她進行一番介紹吧(像了解女(男)朋友那樣循序漸進,表著急)~~

Python系列(12)——可以讓程序一直執(zhí)行的循環(huán)語句

循環(huán)語句允許我們執(zhí)行一個語句或語句組多次,也就是說,只要你不讓程序停下來,它可以一直執(zhí)行到“天荒地老”。當(dāng)然,一般都是要有ending的,一直陷入“死循環(huán)”的程序,是有問題的。

循環(huán)的類型有3種,但主要的寫法有2種寫法,下圖中的“嵌套循環(huán)”是在while和for循環(huán)的基礎(chǔ)上進行嵌套產(chǎn)生的,代表Python支持這種2種循環(huán)一層套一層的寫法。

Python系列(12)——可以讓程序一直執(zhí)行的循環(huán)語句

Python的循環(huán)主要有兩種

1.for...in循環(huán),依次把list或tuple中的每個元素迭代出來,看例子:

names = ['Michael', 'Bob', 'Tracy']

for name in names:

print(name)

執(zhí)行這段代碼,會依次打印names的每一個元素:

Michael

Bob

Tracy

所以for x in ...循環(huán)就是把每個元素代入變量x,然后執(zhí)行縮進塊的語句。

再比如我們想計算1-10的整數(shù)之和,可以用一個sum變量做累加:

sum = 0

for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:

sum = sum + x

print(sum)

當(dāng)然,如果覺得用數(shù)組的方式有點麻煩,比如要計算1-100的整數(shù)之和,從1寫到100有點困難,幸好Python提供一個range()函數(shù),可以生成一個整數(shù)序列,再通過list()函數(shù)可以轉(zhuǎn)換為list。比如range(5)生成的序列是從0開始小于5的整數(shù):

>>> list(range(5))

[0, 1, 2, 3, 4]

range(101)就可以生成0-100的整數(shù)序列,計算如下:

sum = 0

for x in range(101):

sum = sum + x

print(sum)

2.while循環(huán)

只要條件滿足,就不斷循環(huán),條件不滿足時退出循環(huán)。比如我們要計算100以內(nèi)所有奇數(shù)之和,可以用while循環(huán)實現(xiàn):

sum = 0

n = 99

while n > 0:

sum = sum + n

n = n - 2

print(sum)

在循環(huán)內(nèi)部變量n不斷自減,直到變?yōu)?1時,不再滿足while條件,循環(huán)退出。

至于第三種嵌套循環(huán)的用法,下面舉個栗子:(這里加入了條件判斷語句,與上一篇文章所學(xué)融會貫通)

以下實例使用了嵌套循環(huán)輸出2~50之間的素數(shù):

i = 2

while(i < 50):

j = 2

while(j <= (i/j)):

if not(i%j): break

j = j + 1

if (j > i/j) : print i, " 是素數(shù)"

i = i + 1

print "Good bye!"

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

2 是素數(shù)

3 是素數(shù)

5 是素數(shù)

7 是素數(shù)

11 是素數(shù)

13 是素數(shù)

17 是素數(shù)

19 是素數(shù)

23 是素數(shù)

29 是素數(shù)

31 是素數(shù)

37 是素數(shù)

41 是素數(shù)

43 是素數(shù)

47 是素數(shù)

顯然上面的程序里有2個while循環(huán),假如有2個for循環(huán)也是可以作為嵌套循環(huán)的。


那么,假如循環(huán)程序在執(zhí)行到特定的值時要進行特定的操作該怎么辦呢?比如,我想在1-100求和時,當(dāng)值為10時結(jié)束循環(huán),或者打印出特定的提示信息,又或者直接跳過10不加了,這就需要用到循環(huán)的控制語句了,且看下圖:

Python系列(12)——可以讓程序一直執(zhí)行的循環(huán)語句

1.break

如果要提前結(jié)束循環(huán),可以用break語句:

n = 1

while n <= 100:

if n > 10: # 當(dāng)n = 11時,條件滿足,執(zhí)行break語句

break # break語句會結(jié)束當(dāng)前循環(huán)

print(n)

n = n + 1

print('END')

本來要循環(huán)打印1~100的數(shù)字:

執(zhí)行上面的代碼可以看到,打印出1~10后,緊接著打印END,程序結(jié)束。

2.continue

在循環(huán)過程中,也可以通過continue語句,跳過當(dāng)前的這次循環(huán),直接開始下一次循環(huán)。

n = 0

while n < 10:

n = n + 1

print(n)

上面的程序可以打印出1~10。但是,如果我們想只打印奇數(shù),可以用continue語句跳過某些循環(huán):

n = 0

while n < 10:

n = n + 1

if n % 2 == 0: # 如果n是偶數(shù),執(zhí)行continue語句

continue # continue語句會直接繼續(xù)下一輪循環(huán),后續(xù)的print()語句不會執(zhí)行

print(n)

執(zhí)行上面的代碼可以看到,打印的不再是1~10,而是1,3,5,7,9。

可見continue的作用是提前結(jié)束本輪循環(huán),并直接開始下一輪循環(huán)。

3.pass

pass是空語句,是為了保持程序結(jié)構(gòu)的完整性。

pass 不做任何事情,一般用做占位語句。舉個栗子啦~

for letter in 'Python':

if letter == 'h':

pass

print '這是 pass 塊'

print '當(dāng)前字母 :', letter

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

當(dāng)前字母 : P

當(dāng)前字母 : y

當(dāng)前字母 : t

這是 pass 塊

當(dāng)前字母 : h

當(dāng)前字母 : o

當(dāng)前字母 : n

老鐵們,大佬們,今天就給大家介紹到這里啦~~有興趣的可以加關(guān)注或點贊轉(zhuǎn)發(fā)給朋友喲~【愛他(她)就讓他(她)去搬磚吧】

Python系列(12)——可以讓程序一直執(zhí)行的循環(huán)語句

敬請期待~~你我一同進步?。?!有任何問題皆可留言詢問~~謝各位大佬關(guān)注!!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多