💻Python 的嵌套 for 迴圈並結合 if 條件判斷來生成一個 $6X$ 的乘法表~邱允文

 

💻 詳細解說如何使用 Python 的嵌套 for 迴圈並結合 if 條件判斷來生成一個 $6 \times 6$ 的乘法表,同時篩選並標記奇數和偶數乘積。

這個實務操作屬於迴圈語法:嵌套迴圈與條件控制的進階應用。


💻 完整程式碼範例:$6 \times 6$ 偶數乘積篩選表

案例一:基本 $6 \times 6$ 偶數篩選表

這個案例將嚴格按照提示詞要求,使用 if 條件判斷乘積的奇偶性,並使用星號 * 作為奇數乘積的佔位符。

步驟解說 (Step-by-Step)

  1. 定義處理範圍: 設定乘法表的維度為 $6 \times 6$,因此使用 range(1, 7),生成 $1$$6$ 的整數序列。

  2. 外部迴圈(行 i): 使用 for i in range(1, 7):,變數 i 代表乘法的第一個乘數(行)。

  3. 內部迴圈(列 j): 嵌套 for j in range(1, 7):,變數 j 代表乘法的第二個乘數(列)。

  4. 計算乘積與條件判斷:

    • 計算乘積 result = i * j

    • 使用模運算符 % 進行奇偶性檢查:if result % 2 == 0:。如果餘數為 $0$,則結果為偶數。

  5. 偶數結果打印: 如果判斷為偶數,則格式化打印完整的算式,例如 2*3= 6

    • 使用格式化字串 "{result:2}" 確保結果數字佔用 2 個字符,以維持對齊。

  6. 奇數佔位符打印: 如果判斷為奇數,則打印一個由星號組成的佔位符(例如 * * *),這個佔位符的長度必須與偶數的輸出長度大致相等,以保持網格結構。

  7. 換行控制: 在內部迴圈打印時,使用 end=" | " 保持在同一行。在內部迴圈結束後,使用單獨的 print() 實現換行。

程式碼細節

Python
def generate_even_multiplication_table(size):
    """
    生成指定 size x size 的乘法表,只顯示偶數乘積,奇數使用佔位符。
    """
    print(f"\n--- 案例一:生成 {size} x {size} 偶數乘積篩選表 ---")
    
    # 設置範圍,從 1 到 size (包含 size)
    range_limit = size + 1
    
    # 1. 外部迴圈:控制行數 (i)
    for i in range(1, range_limit):
        
        # 2. 內部迴圈:控制列數 (j)
        for j in range(1, range_limit):
            
            # 3. 計算結果
            result = i * j
            
            # 4. 條件判斷:檢查是否為偶數
            if result % 2 == 0:
                # 偶數結果:顯示完整的算式,結果數字佔 2 位用於對齊
                output = f"{i}*{j}={result:2}"
                print(output, end=" | ")
            else:
                # 奇數結果:使用星號作為佔位符,長度與算式長度匹配 (約 7 個字符)
                print(" * * * ", end=" | ")
                
        # 5. 內部迴圈結束後,進行換行
        print() 
        # 打印分隔線增加可讀性
        print("-" * (size * 10))

# 執行 6x6 偶數乘積篩選表
generate_even_multiplication_table(6)
  • Prompt 範例:

    "請使用 Python 嵌套 for 迴圈生成一個 $6 \times 6$ 的乘法表。在打印時,請加入一個 if 條件,只顯示乘積是偶數的結果,對於乘積是奇數的位置,請用星號 * 作為佔位符來保持網格結構。"


案例二:變形:只篩選能被 3 整除的乘積(使用 continue 忽略其他)

這個案例演示瞭如何在內層迴圈中使用更複雜的篩選條件,並且不使用佔位符,而是利用 continue 跳過並只打印空格,從而形成一個稀疏的網格。

步驟解說 (Step-by-Step)

  1. 外部/內部迴圈: 遍歷 $7 \times 7$ 的所有組合(範例從 $1$$7$)。

  2. 篩選條件: 檢查乘積是否能被 $3$ 整除:if result % 3 != 0:

  3. 使用 continue 如果乘積不能被 $3$ 整除,執行 continue。這會跳過後續的打印代碼。

  4. 打印合格結果: 只有能被 $3$ 整除的乘積才會執行打印,並且為了保持網格,對於被跳過的位置,我們需要一個機制來保持寬度。

程式碼細節

Python
def generate_divisible_by_three_table(size):
    """
    生成指定 size x size 的乘法表,只顯示能被 3 整除的乘積,其餘留空。
    """
    print(f"\n--- 案例二:生成 {size} x {size} 只顯示能被 3 整除的乘積表 ---")
    range_limit = size + 1
    
    # 外部迴圈 (行 i)
    for i in range(1, range_limit):
        
        # 內部迴圈 (列 j)
        output_row = ""
        for j in range(1, range_limit):
            
            result = i * j
            
            # 1. 篩選條件:檢查是否能被 3 整除
            if result % 3 == 0:
                # 2. 合格結果:格式化算式
                output = f"{i}*{j}={result:2}"
            else:
                # 3. 不合格結果:使用空格佔位符,寬度與算式寬度匹配 (約 7 個字符)
                output = " " * 7 
            
            output_row += f"{output} | "
            
        # 4. 打印整行並換行
        print(output_row)
        print("-" * (size * 10))

# 執行 7x7 能被 3 整除篩選表
generate_divisible_by_three_table(7)
  • Prompt 範例:

    "請使用 Python 嵌套 for 迴圈生成一個 $8 \times 8$ 的乘法表。如果乘積可以被 $4$ 整除,則顯示算式;否則,請在該位置打印三個井號 # # # 作為佔位符。"


案例三:變形:限定範圍的下三角奇偶數分析

這個案例結合了案例二的下三角結構和案例一的奇偶性判斷,但僅限定在 $4 \times 4$ 的範圍內,以縮小觀察細節。

步驟解說 (Step-by-Step)

  1. 外部/內部迴圈範圍限定: 將範圍設定為 range(1, 5)

    • 外部迴圈:for i in range(1, 5):

    • 內部迴圈(下三角):for j in range(1, i + 1):

  2. 判斷邏輯: 檢查乘積 result = i * j 的奇偶性。

  3. 打印規則:

    • 偶數: 顯示完整的算式。

    • 奇數: 顯示一個問號佔位符 ? ? ?

  4. 對齊: 由於每行的長度不同(三角形結構),對齊方式需要依賴於統一的字符寬度。

程式碼細節

Python
def generate_triangle_odd_even_table(size):
    """
    生成 size x size 的下三角乘法表,並根據奇偶性顯示不同標記。
    """
    print(f"\n--- 案例三:生成 {size} x {size} 下三角奇偶性分析表 ---")
    range_limit = size + 1
    
    # 1. 外部迴圈:行 i
    for i in range(1, range_limit):
        
        # 2. 內部迴圈:列 j (下三角結構: j <= i)
        output_row = ""
        for j in range(1, i + 1):
            
            result = i * j
            
            # 3. 條件判斷:奇偶性
            if result % 2 == 0:
                # 偶數結果:完整的算式
                output = f"{i}*{j}={result:2}"
            else:
                # 奇數結果:問號佔位符
                output = " ? ? ? "
            
            # 使用格式化確保每個單元格佔用相同寬度
            output_row += f"{output:<8}"
            
        # 4. 打印整行並換行
        print(output_row)
        print("-" * (i * 8)) # 分隔線長度隨行數變化

# 執行 4x4 下三角奇偶性分析表
generate_triangle_odd_even_table(4)

留言

這個網誌中的熱門文章

🌻AI 時代自媒體行銷與 SEO 實務操作技巧 ~邱允文

🚀 🚀用AI打造你的自媒體金礦!實戰課程~邱允文

🚀 學會撰寫高效Prompt~提升AI回應的準確性與實用性~邱允文