1. 程式人生 > >Python基礎之迴圈語句(02)

Python基礎之迴圈語句(02)

Python中的迴圈語句有 for 和 while。

Python迴圈語句的控制結構圖如下所示:

1.While迴圈

Python中while語句的一般形式:

while 判斷條件:
    語句

注:

需要注意冒號和縮排。在Python中沒有do..while迴圈

#0到100求和
i=0
sum=0
while i<=100:
    sum=sum+i
    i=i+1
print (sum)

while 迴圈使用 else 語句,在 while … else 在條件語句為 false 時執行 else 的語句塊。

count = 0
while count < 5:
   print (count, " 小於 5")
   count = count + 1
else:
   print (count, " 大於或等於 5")

 

2.for迴圈語句

Python for迴圈可以遍歷任何序列的專案,如一個列表或者一個字串。

for迴圈的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

同樣需要注意冒號和縮排

student=[{"name":"WWW"},
    {"name":"Ahab"}]
#搜尋指定的姓名
find_name="WWW"
for stu in student:
    print(stu)
    if stu["name"] == find_name:
        print("找到了%s"%find_name)
        break
else:
    print("沒有這個人")
print("迴圈結束")

這段程式碼中有一個知識點是下次更新的內容,如下:

student=[{"name":"WWW"},
    {"name":"Ahab"}]

感興趣的可以先看看。

3.range()函式

python 中的range() 函式可建立一個整數列表,一般用在 for 迴圈中。

 

函式語法:

range(stop)
range(start, stop[, step])

引數說明:
    start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0, 5);
    stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
    step:步長,預設為1。例如:range(0, 5) 等價於 range(0, 5, 1)

 

其實Python 的 for i in range (m,n),相當於 C++/Java/C# 裡面的 for (int i = m;  i < n; i++)

for i in range(5):
  print(i)

輸出 0 1 2 3 4

for i in range(5,9):
  print(i)

輸出 5 6 7 8

 

4.break和continue函式

break 語句可以跳出 for 和 while 的迴圈體。如果你從 for 或 while 迴圈中終止,任何對應的迴圈 else 塊將不執行。簡言之break 退出迴圈 不再執行後續重複的程式碼。

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

continue語句被用來告訴Python跳過當前迴圈塊中的剩餘語句,然後繼續進行下一輪迴圈。簡言之continue  並沒有退出迴圈 不執行後續重複程式碼

i=0
while i<=10:
    if i==3:
    # 注意死迴圈  確認迴圈的計數是否修改 i==3
        continue 
    print (i)
    i+=1

5.pass語句

Python pass是空語句,是為了保持程式結構的完整性。

pass 不做任何事情,一般用做佔位語句.

for i in range(5):
    pass

 


 

小練習使用迴圈巢狀實現9*9乘法表:

row =1
while row<=9:
    col=1
    while col<=row:
        print ("%d*%d=%d" %(col,row,col*row),end=" ")
        col+=1
    print(" ")
    row +=1

這個不做分析有c或者java基礎的都會寫這段程式碼。

 

小科普:

print語句不換行,在python 3.x版本 end="" 可使輸出不換行。
在python 2.x版本中,使用“,”(不含雙引號)可使輸出不換行

print("*",end="")  3.x
print("*"),        2.x

文章首發公眾號【Ahab雜貨鋪】關注公眾號技術分享第一時間送達!