python基礎-循環語句(5)


一、循環語句介紹

  • 一般情況下,需要多次重復執行的代碼,都可以用循環的方式來完成
  • 循環不是必須要使用的,但是為了提高代碼的重復使用率,所以有經驗的開發者都會采用循環

 

二、常見的循環形式

  1. while循環
  2. for循環

 

三、while循環

while 條件: 滿足條件時執行的代碼1 滿足條件時執行的代碼2 ...(省略)...

舉例如下:

i = 0 while i<5:
    print("i現在等於%d"%i) i+=1

運行結果為:

i現在等於0
i現在等於1
i現在等於2
i現在等於3
i現在等於4

while循環的嵌套

類似if的嵌套,while嵌套就是:while里面還有while

while 條件1: 滿足1時,執行的代碼1 滿足1時,執行的代碼2 ...(省略)... while 條件2: 滿足2時,執行的代碼1 滿足2時,執行的代碼2 

這也就是所謂的雙重循環,典型的案例:打印九九乘法表

i=1
while i<=9: j=1
    while i>=j: print("%d*%d=%-2d"%(i,j,i*j),end=" ") j+=1
    print("\n") i+=1

運行結果如下:

1*1=1  

2*1=2  2*2=4  

3*1=3  3*2=6  3*3=9  

4*1=4  4*2=8  4*3=12 4*4=16 

5*1=5  5*2=10 5*3=15 5*4=20 5*5=25 

6*1=6  6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 

7*1=7  7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 

8*1=8  8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 

9*1=9  9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 

解釋說明

  1. %-2d意思是占2個位置的整形
  2. 因為python中的print默認end是”\n”,所以默認時換行的,這里我們只需要修改end屬性就可以了設置結尾不換行了

 

四、for循環

在Python中 for循環可以遍歷任何序列的項目,如一個列表或者一個字符串等。

for循環的格式

for 臨時變量 in 集合容器: 滿足循環執行的代碼 else: 不滿足循環時執行的代碼

其中:else可寫可不寫,根據需要自行決定

name = "Se7eN_HOU"
for x in name: print(x)

運行結果為:’S’,’e’,’7′,’e’,’N’,’_’,’H’,’O’,’U’ 

for循環嵌套

for循環和while循環一樣也可以嵌套,還以打印九九乘法表為例演示

for i in range(1,10): for j in range(1,10): print("%d*%d=%-2d"%(i,j,i*j),end=" ") if i==j: break
    print("\n")

運行效果為:

1*1=1  

2*1=2  2*2=4  

3*1=3  3*2=6  3*3=9  

4*1=4  4*2=8  4*3=12 4*4=16 

5*1=5  5*2=10 5*3=15 5*4=20 5*5=25 

6*1=6  6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 

7*1=7  7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 

8*1=8  8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 

9*1=9  9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 

說明:

  1. 用到break這個知識點,講座下一個知識點馬上給大家講解
  2. range()一個隨機函數、在()里面寫上隨機數的范圍

 

五、continue和break

使用場景,通常在循環中當做中斷循環使用,例如我本來想做10次循環,但是到第5次的時候我就不想循環了,或者第5次不想循環了,后面4次繼續循環就需要用到break和continue。

continue:跳出當前本次循環,后面的循環繼續做

i = 1
while i<=10: if i==5: i+=1
        continue
    print(i) i+=1

運行結果為:1,2,3,4,6,7,8,9,10

當i等於5的時候進入if語句,只做了自加1,continue之后的就print沒有執行,但是i等於6,7,8,9,10次的循環繼續執行了,所以continue只是結束當前這一次循環,后面的循環繼續執行

break:結束當前所有的循環,不管后面還有幾次都不執行了

i = 1
while i<=10: if i==5: i+=1
        break
    print(i) i+=1

運行結果為:1,2,3,4

當i等於5的時候,進入if語句,執行了i+=1,之后執行break代碼,直接退出循環,所以后面的,6,7,8,9,10次都不會執行了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM