1. 程式人生 > >Python_從零開始學習_(18) 迴圈巢狀

Python_從零開始學習_(18) 迴圈巢狀

1.  迴圈巢狀

  • while 巢狀就是: while 裡面還有 while
while  條件1:
    條件滿足時,  做得事情1
    條件滿足時,  做得事情2
    條件滿足時,  做得事情3
    ......

    while  條件2:
        條件滿足時,  做得事情1
        條件滿足時,  做得事情2
        條件滿足時,  做得事情3
        ......
 
        處理條件2
    處理條件1

2.  迴圈巢狀演練  ----  九九乘法表

第 1 步 : 用巢狀列印小星星

需求

  • 在控制檯連續輸出五行 * , 每一行星號的數量依次遞增
# 在控制檯連續輸出五行 * , 每一行星號的數量依次遞增
# *
# **
# ***
# ****
# *****
# 程式碼實現

num = 1

while num <= 5:
    print("*" * num)
    num +=1

第 2 步 : 使用迴圈巢狀列印小星星

知識點  對 print 函式的使用做一個贈強

  • 在預設情況下,  print 函式輸出內容之後,  會自動在內容末尾增加換行
  • 如果不希望末尾增加換行,  可以在 print 函式輸出內容的後面增加 , end = ""
  • 其中 "" 中間可以指定 print 函式輸出內容輸出內容之後,  繼續希望顯示的內容
  • 語法格式如下:
# 向控制檯輸出內容結束之後,  不會換行
print("*",  end="")

# 單純的換行
print("")

end=""  表示向控制檯輸出內容結束之後,  不會換行 

巢狀迴圈小星星演練 :

# 定義行變數
row = 1

while row <= 5:
    # 1. 定義一個列計數器變數
    col = 1
    # 2. 開始迴圈
    while col <= row:
        # print("%d" % row)
        # 每一行列印多少個小星星
        print("*", end="")

        col += 1
    # print("第 %d 行" % row)
    # 這行程式碼就是在一行星星輸出完之後, 新增換行 !
    print("")
    row += 1

第 3 部 :  九九乘法表

需求 輸出 九九乘法表 格式如下 :

1 * 1 = 1  1 * 2 = 2 2 * 2 = 4  1 * 3 = 3 2 * 3 = 6   3 * 3 = 9  1 * 4 = 4 2 * 4 = 8   3 * 4 = 12 4 * 4 = 16  1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25  1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36  1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49  1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64  1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81 

 演練程式碼 :

# 定義一個行變數
row = 1
# 第一個迴圈, 迴圈次數代表多少行數
while row <= 9:
    # 定義一個列變數
    col = 1
    # 第二個迴圈, 代表每一行迴圈出來的內容
    while col <= row:
        print("%d * %d = %d" % (col, row, row*col), end=" ")
        col += 1
    print("")
    row += 1

但是發現打印出來沒對齊:

 然後就有了轉義字元

  • \t 在控制檯輸出一個 製表符,  協助在輸出文字時 垂直方向 保持對其
  • \n 在控制檯輸出一個 換行符

製表符 的功能是在不適用表格的情況下在 垂直方向 按列對齊文字

轉義字元 描述
\\ 反斜槓符號
\' 單引號
\" 雙引號
\n 換行
\t 橫向製表符
\r 回車

 然後修改後的九九乘法程式碼如下 :

# 定義一個行變數
row = 1
# 第一個迴圈, 迴圈次數代表多少行數
while row <= 9:
    # 定義一個列變數
    col = 1
    # 第二個迴圈, 代表每一行迴圈出來的內容
    while col <= row:
        print("%d * %d = %d" % (col, row, row*col), end="\t")
        col += 1
    print("")
    row += 1