Python入門示例系列19 循環語句


Python 中的循環語句有 for 和 while。

 

while 語句

Python 中 while 語句的一般形式

while 判斷條件condition
    執行語句statements

同樣需要注意冒號和縮進。另外,在 Python 中沒有 do..while 循環。

以下實例使用了 while 來計算 1 到 100 的總和:

sum = 0
counter = 1
while counter <= 100:
    sum = sum + counter
    counter += 1

print("1 到 %d 之和為: %d" % (100, sum))

 

while 循環使用 else 語句

如果 while 后面的條件語句為 false 時,則執行 else 的語句塊。

while 語法格式如下:

while <expr>:
    <statement(s)>
else: # expr 條件語句為false,則執行<additional_statement(s)>
    <additional_statement(s)>

expr 條件語句為 true 則執行 statement(s) 語句塊,如果為 false,則執行 additional_statement(s)。

循環輸出數字,並判斷大小:

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

結果:

0  小於 5
1  小於 5
2  小於 5
3  小於 5
4  小於 5
5  大於或等於 5

 

如果while循環體中只有一條語句,可以將該語句與while寫在同一行中。

 

for 語句

Python for 循環可以遍歷任何可迭代對象,如一個列表或者一個字符串。

for循環的一般格式如下:

for <variable> in <sequence>: <statements>
else: # else 子句在循環正常完成時執行,這意味着循環沒有遇到任何 break 語句。
    <statements>

示例:

for x in [1, 2, 3]:
    print(x)

 

 

range()函數


如果需要遍歷數字序列,可以使用內置range()函數。它會生成數列,例如:

for x in range(3):
    print(x)

range() 函數語法

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

參數說明
start: 計數從 start 開始。默認是從 0 開始。例如 range(5) 等價於range(0, 5);   0, 1, 2, 3, 4 , 沒有5。
stop: 計數到 stop 結束,但不包括 stop。例如:range(0,5) 是  0, 1, 2, 3, 4 , 沒有5
step:步長,默認為1,可以為負數。例如:range(0, 5) 等價於 range(0, 5, 1)
    

range函數的返回值不是列表,也不是元組,是可迭代對象。以下示例只用於說明結果。  

>>>list(range(5))        # 從 0 開始到 4  沒有5。
[0, 1, 2, 3, 4]
>>> list(range(1, 5))     # 從 1 開始到 4  沒有5。
[1, 2, 3, 4]
>>> list(range(0, 20, 5))  # 步長為 5  沒有20。
[0, 5, 10, 15]
>>> list(range(0, 10, 3))  # 步長為 3
[0, 3, 6, 9]
>>> list(range(0, -4, -1)) # 步長為負數 沒有-4。
[0, -1, -2, -3]
>>> list(range(0))
[]
>>> list(range(1, 0))
[]

 

嵌套循環(nested loop)

print ( "          Multiplication Table" )
# Display the number title
print ( "  |", end = ' ' )
for j in range ( 1, 10 ) :
    print ( "  ", j, end = ' ' )
print ( )     # Jump to the new line
print ( "------------------------------------------------" )
# Display table body
for i in range ( 1, 10 ) :
    print ( i, "|", end = ' ' )
    for j in range ( 1, 10 ) :
        # Display the product and align properly
        print ( format ( i * j, '4d' ), end = ' ' )
    # Jump to the new line
    print ( )

 

 

break 和 continue 語句

 

break 語句可以跳出 for 和 while 的循環體。如果從 for 或 while 循環中終止,任何對應的循環 else 塊將不執行。

continue 語句跳過當前循環塊中的剩余語句,然后繼續進行下一輪循環

for x in range(5):
    print("上面",x)
    if x>2:
        break
    print("下面",x)
上面 0
下面 0
上面 1
下面 1
上面 2
下面 2
上面 3

 

for x in range(5):
    print("上面",x)
    if x>2:
        continue
    print("下面",x)
上面 0
下面 0
上面 1
下面 1
上面 2
下面 2
上面 3
上面 4

 

 

pass 語句

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

pass 不做任何事情,一般用做占位語句,如下實例

while True:
    pass  # 等待鍵盤中斷 (Ctrl+C)

 

最小的類:

class MyEmptyClass:
    pass

 

 

 

REF

https://www.runoob.com/python3/python3-loop.html


免責聲明!

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



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