最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 循環(huán)語(yǔ)句之 while,for語(yǔ)句詳解

 更新時(shí)間:2018年04月23日 08:49:23   作者:LWH9606  
Python中有兩種循環(huán),分別為:for循環(huán)和while循環(huán)。 for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。while 語(yǔ)句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的相同任務(wù)。

循環(huán)語(yǔ)句(有兩種):

while 語(yǔ)句
for   語(yǔ)句

while 語(yǔ)句:

問(wèn)題:輸入一個(gè)整數(shù)n,讓程序輸出n行的:

hello 1
hello 2
.......
hell n

while 語(yǔ)句:

作用:根據(jù)一定條件,重復(fù)的執(zhí)行一條語(yǔ)句或多條語(yǔ)句

語(yǔ)法:

while 真值表達(dá)式:

語(yǔ)句塊1......
else:
語(yǔ)句塊2......

說(shuō)明:

1,先執(zhí)行真值表達(dá)式,測(cè)試布爾值為True或False
2,如果真值表達(dá)式的測(cè)試值為True,側(cè)執(zhí)行語(yǔ)句1,然后再返回到第一步重復(fù)進(jìn)行測(cè)試
3,如果真值表達(dá)式的測(cè)試值為False。則執(zhí)行else子句中的語(yǔ)句塊2,然后結(jié)束此while語(yǔ)句的執(zhí)行,如果沒(méi)有else子句,則直接結(jié)束while語(yǔ)句的執(zhí)行。
4,else子句部分可以省略(同if語(yǔ)句類似)。

如:打印10行的hello

i = 1      #創(chuàng)建并初始化一個(gè)控制while循環(huán)的變量i
while i <= 10:
        print("hello")   #此處執(zhí)行10次
        i += 1
#運(yùn)行結(jié)果:[root@localhost data]# ./test.py
hello
hello
hello
hello
hello
hello
hello
hello
hello
hello

while語(yǔ)句的注意事項(xiàng):

1,要控制循環(huán)的真值表達(dá)式的值來(lái)防止死循環(huán)。
2,通常用真值表達(dá)式中的循環(huán)變量來(lái)控制循環(huán)條件。
3,通常在循環(huán)語(yǔ)句塊內(nèi)需要改變循環(huán)來(lái)控制循環(huán)的次數(shù)和變量的走向

while循環(huán)的嵌套:

while語(yǔ)句本身是語(yǔ)句,和其它的語(yǔ)句一樣可以嵌套在其它復(fù)合語(yǔ)句中(如:if語(yǔ)句 ,while語(yǔ)句, for語(yǔ)句 ....內(nèi)部)

while語(yǔ)句嵌套示意:

while 真值表達(dá)式:
.......
while 真值表達(dá)式2:
......
else:
........
else:
........
如:

輸入一個(gè)數(shù),打印指定寬度的正方形:
如:輸入:5

n = int(input("輸入一個(gè)數(shù):"))
j = 1
while j <= n:
    i = 1
    while i <= n:
        print(i,end=' ')
        i += 1
    print()
    j += 1
######運(yùn)行結(jié)果:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

break 語(yǔ)句:

作用:用于循環(huán)語(yǔ)句(while,for語(yǔ)句)中,用來(lái)終止當(dāng)前循環(huán)語(yǔ)句的執(zhí)行。

說(shuō)明:
1,當(dāng)break語(yǔ)句執(zhí)行后,此循環(huán)語(yǔ)句break之后的語(yǔ)句將不再執(zhí)行
2,break語(yǔ)句通常和if語(yǔ)句組合使用。
3,break語(yǔ)句終止循環(huán)時(shí),循環(huán)語(yǔ)句的else子句將不會(huì)被執(zhí)行
4,break語(yǔ)句只能終止當(dāng)前循環(huán)的執(zhí)行,如果有循環(huán)嵌套時(shí),不會(huì)跳出嵌套的外重循環(huán)
5,break語(yǔ)句只能在循環(huán)語(yǔ)句(while或for語(yǔ)句)內(nèi)部使用
如:

i = 1
while i < 10:
        print("循環(huán)開始i=",i)
        if i == 5:      #當(dāng)i = 5時(shí)結(jié)束循環(huán)
                break
        i += 1
#運(yùn)行結(jié)果:[root@localhost data]# ./test.py
循環(huán)開始i= 1
循環(huán)開始i= 2
循環(huán)開始i= 3
循環(huán)開始i= 4
循環(huán)開始i= 5

死循環(huán) death loop:

1,死循環(huán)是指循環(huán)條件一直成立的循環(huán)
2,死循環(huán)通常用break語(yǔ)句來(lái)終止循環(huán)
3,死循環(huán)的else子句永遠(yuǎn)不會(huì)執(zhí)行
如:用input輸入一些文字,當(dāng)輸入三個(gè)*號(hào)時(shí),代表輸入結(jié)束,否則一直循環(huán)。

s = ""
while True:
        a = input("請(qǐng)輸入文字(***結(jié)束)")
        if a == '***':
                break
        s += a + '\n'
##運(yùn)行結(jié)果:[root@localhost data]# ./test.py
請(qǐng)輸入文字(***結(jié)束)a
請(qǐng)輸入文字(***結(jié)束)b
請(qǐng)輸入文字(***結(jié)束)v
請(qǐng)輸入文字(***結(jié)束)c
請(qǐng)輸入文字(***結(jié)束)d
請(qǐng)輸入文字(***結(jié)束)***   #輸入三個(gè)*** 結(jié)束,退出循環(huán)
[root@localhost data]#

二:for 語(yǔ)句(循環(huán)語(yǔ)句)

作用:用來(lái)遍歷可迭代對(duì)象的數(shù)據(jù)元素

語(yǔ)法:
for 變量列表 in 可迭代對(duì)象:

語(yǔ)句塊1......
else:
語(yǔ)句塊2......

語(yǔ)法說(shuō)明:

1,可迭代對(duì)象每次提供一個(gè)元素依次賦值給變量列表中的變量,賦值完畢后執(zhí)行語(yǔ)句塊1,重復(fù)執(zhí)行此步驟,
2,當(dāng)可迭代對(duì)象不能夠提供數(shù)據(jù)時(shí),執(zhí)行else子句部分的語(yǔ)句塊2,然后退出循環(huán)。

如:

s = 'ABCDE'
for x in s:
        print(x)
else:  
        print("繼續(xù)執(zhí)行此條")    #迭代對(duì)象不能夠提供數(shù)據(jù)時(shí),繼續(xù)執(zhí)行else中的這條
##運(yùn)行結(jié)果:[root@localhost data]# ./test.py
A
B
C
D
E
繼續(xù)執(zhí)行此條

3,else子句部分可以省略(同while語(yǔ)句類似)

4,當(dāng)在語(yǔ)句內(nèi)部用break終止循環(huán)時(shí),else子句部分語(yǔ)句塊2不會(huì)執(zhí)行,
             可迭代對(duì)象時(shí)指能依次獲取數(shù)據(jù)元素的對(duì)象

四:for循環(huán)嵌套:

和while循環(huán)嵌套一樣

如:

for x in "ABC":
        for y in "123":
                print(x + y)
##運(yùn)行結(jié)果:
[root@localhost data]# ./test.py
A1
A2
A3
B1
B2
B3
C1
C2
C3

經(jīng)典否循環(huán)嵌套示例

               用for循環(huán)嵌套打印如下圖形:
(輸入一個(gè)數(shù)n(10以內(nèi))代表矩形的寬度和高度)
如: 輸入:5

1 2 3 4 5
  2 3 4 5 6
  3 4 5 6 7
  4 5 6 7 8
  5 6 7 8 9

n = int(input("輸入一個(gè)數(shù):"))
for i in range(1, n +1):
    for j in range(i, i + n):
        print(j,end=' ')
    else:
        print()
        
#運(yùn)行結(jié)果:
[root@localhost data]# ./test.py
輸入一個(gè)數(shù):5
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

五:continue 語(yǔ)句:

作用:用于循環(huán)語(yǔ)句(while,for語(yǔ)句)中,不再執(zhí)行本次循環(huán)內(nèi)continue之后的語(yǔ)句,重新開始一次新循環(huán)。

說(shuō)明:

1,在while語(yǔ)句中執(zhí)行continue語(yǔ)句,將直接跳轉(zhuǎn)到while語(yǔ)句的真值表達(dá)式重新判斷循環(huán)條件。
2,在for語(yǔ)句中執(zhí)行continue語(yǔ)句,將會(huì)從可迭代對(duì)象中取下一個(gè)元素,綁定變量后再次進(jìn)行循環(huán)。
如:

for i in range(5):
        if i == 3:    #當(dāng)i 等于3時(shí),跳過(guò)打印,進(jìn)行下一次循環(huán)。
                continue
        print(i)
#運(yùn)行結(jié)果      
[root@localhost data]# ./test.py
0
1
2
4

示例:
寫一個(gè)程序,求1-100之間所不能被5,7,11整除的數(shù)的和。

s = 0
for i in range(1,101):
    if (i % 5) == 0 or (i % 7) == 0 or (i % 11) == 0:
        continue
    s += i
print(s)
#運(yùn)行結(jié)果:
[root@localhost data]# ./test.py
3007

六:range 函數(shù):

作用:用來(lái)創(chuàng)建一個(gè)生成一系類整數(shù)的可迭代對(duì)象(也叫整數(shù)序列生成器。)
調(diào)用格式:
range(stop)
從零開始,每次生成一個(gè)整數(shù)后加1,操作,直到stop為止(不包含stop)
range(start,stop[,step])從start開始,每次生成一個(gè)整數(shù)后移動(dòng)step,直到stop為止(不包含stop,且step可以為負(fù)數(shù)。)
          注:如果直接打印range(5)或(print(range(5)))的時(shí)候會(huì)得到range(5),而不是一個(gè)列表,這是因?yàn)楣?jié)省空間,防止過(guò)大的列表產(chǎn)生。
    如:

>>> range(5)    
range(0, 5)
>>>
       如果想要到交互模式下得到列表,可以加入list到前面來(lái)進(jìn)行,如下:
示例:

>>> list(range(5))     
[0, 1, 2, 3, 4]
>>> list(range(1,6))   
[1, 2, 3, 4, 5]
>>> list(range(10,0,-1))
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> list(range(1,10,2))
[1, 3, 5, 7, 9]
>>> list(range(5,0,-2))
[5, 3, 1]
>>>

相關(guān)文章

  • 利用PyQt5中QLabel組件實(shí)現(xiàn)亞克力磨砂效果

    利用PyQt5中QLabel組件實(shí)現(xiàn)亞克力磨砂效果

    Windows10 在 UWP 應(yīng)用中支持亞克力畫刷,可以在部件的底部繪制亞克力效果的背景圖。本文將使用QLabel來(lái)模擬這個(gè)磨砂過(guò)程,感興趣的可以了解一下
    2022-03-03
  • pygame庫(kù)pgu使用示例代碼

    pygame庫(kù)pgu使用示例代碼

    pgu全稱是Phil’s pyGame Utilities,是pygame的一組模塊與腳本,其中還有g(shù)ui集成了一些小模塊,現(xiàn)在用pygame制作小游戲的人越來(lái)越多,但是pygame它是沒(méi)有彈窗機(jī)制的,今天通過(guò)本文給大家介紹pygame庫(kù)pgu使用示例代碼,需要的朋友參考下吧
    2021-08-08
  • Python求解任意閉區(qū)間的所有素?cái)?shù)

    Python求解任意閉區(qū)間的所有素?cái)?shù)

    本篇文章是一篇關(guān)于python求素?cái)?shù)的知識(shí)點(diǎn)內(nèi)容,如果大家在應(yīng)用中有用的到,不妨跟著學(xué)習(xí)下。
    2018-06-06
  • Python中方法的缺省參數(shù)問(wèn)題解讀

    Python中方法的缺省參數(shù)問(wèn)題解讀

    這篇文章主要介紹了Python中方法的缺省參數(shù)問(wèn)題解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python報(bào)錯(cuò)TypeError: ‘NoneType‘ object is not subscriptable的解決方法匯總

    Python報(bào)錯(cuò)TypeError: ‘NoneType‘ object is 

    在Python編程中,TypeError 是一個(gè)常見(jiàn)的錯(cuò)誤,它表明代碼中存在類型不匹配的問(wèn)題,TypeError: 'NoneType' object is not subscriptable 是一個(gè)具體的例子,本文將探討這個(gè)錯(cuò)誤的原因,并提供幾種解決方案,需要的朋友可以參考下
    2024-10-10
  • python小程序基于Jupyter實(shí)現(xiàn)天氣查詢的方法

    python小程序基于Jupyter實(shí)現(xiàn)天氣查詢的方法

    這篇文章主要介紹了python小程序基于Jupyter實(shí)現(xiàn)天氣查詢的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Python 讀取WAV音頻文件 畫頻譜的實(shí)例

    Python 讀取WAV音頻文件 畫頻譜的實(shí)例

    這篇文章主要介紹了Python 讀取WAV音頻文件 畫頻譜的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python 實(shí)現(xiàn)取多維數(shù)組第n維的前幾位

    Python 實(shí)現(xiàn)取多維數(shù)組第n維的前幾位

    今天小編就為大家分享一篇Python 實(shí)現(xiàn)取多維數(shù)組第n維的前幾位,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Python?并行加速技巧分享

    Python?并行加速技巧分享

    這篇文章主要介紹了Python?并行加速技巧分享,文章圍繞文章主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • 8個(gè)Python必備的PyCharm插件(附下載地址)

    8個(gè)Python必備的PyCharm插件(附下載地址)

    Python是一種廣泛使用的編程語(yǔ)言,PyCharm是最受歡迎的Python IDE之一,本文就來(lái)介紹一下8個(gè)Python必備的PyCharm插件,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01

最新評(píng)論

吉安市| 罗甸县| 卢湾区| 阿城市| 肥东县| 崇明县| 天柱县| 班戈县| 宁德市| 邛崃市| 谢通门县| 泉州市| 璧山县| 永修县| 广西| 张家界市| 锡林浩特市| 延川县| 滕州市| 琼海市| 青海省| 呼伦贝尔市| 博白县| 永年县| 勃利县| 松江区| 盐池县| 炉霍县| 贵德县| 江口县| 宿松县| 乾安县| 稻城县| 桓仁| 即墨市| 扎赉特旗| 增城市| 龙山县| 多伦县| 长海县| 社会|