1. 巢狀迴圈
若迴圈內還有迴圈,一層一層由內而外即構成「巢狀迴圈」(Nested loop),也可以稱為「多重迴圈」。無論是for或while迴圈,或是同時使用都可以構成巢狀迴圈。撰寫巢狀迴圈程式時,要特別注意縮排程式才能正確執行。
[例] 試以巢狀迴圈顯示直角三角形。(檔名:n_loop.py)
程式碼:
n_loop.pyfor x in range(1, 6): for y in range(1, 6 - x): print(' ', end='') for y in range(1, x + 1): print('*', end = '') print ( )
2. 無窮迴圈
假使迴圈的條件式永遠為True(真),會形成無窮迴圈,程式流程會周而復始的執行迴圈區塊。因此撰寫無窮迴圈內的迴圈區塊時,必需有改變條件的敘述,或者使用break作為脫離迴圈的出口。
[例] 如下簡例為無窮迴圈的程式。(檔名:while_3.py)
程式碼:
while_3.pyi = 1 sum = 0 while(i <= 10): sum += i i += 1 print (sum)
[簡例] 重複結構來列印九九乘法表 (檔名:loop.py)
程式碼:
loop.pyfor i in range(10): if(i <= 0): continue j = 1 while 1: print(i, '*', j, '=', i*j, end='\t') j = j + 1 if(j > 9): break print()
相關主題與延伸閱讀
- 1. for 迴圈:巢狀迴圈是由多層
for迴圈組合而成的架構。 - 2. while 迴圈:無窮迴圈常見於條件式設計不當的
while迴圈。 - 3. continue 與 break:
break是跳脫無窮迴圈常用的方式。 - 6. 二維串列:巢狀迴圈常用來走訪二維串列的列與行。