Python程式顯示帶有星號邊框的半菱形數字圖案


半菱形圖案是一種幾何圖案,類似於菱形,但只覆蓋菱形的一半。

可以使用程式設計中的迴圈建立菱形圖案。透過控制迴圈和每行列印的字元數量,我們可以修改圖案以實現不同的形狀和排列。

在本文中,我們將編寫一個Python程式,該程式顯示帶有星號邊框的半菱形數字圖案。

輸入輸出場景

讓我們探討一些顯示帶有星號邊框的半菱形數字圖案的輸入輸出場景。

場景1 -

Input: 
n = 3
Output:
*1*
*121*
*12321*
*121*
*1*

場景2 -

Input: 
n = 5
Output:
*1*
*121*
*12321*
*1234321*
*123454321*
*1234321*
*12321*
*121*
*1*

方法

我們可以按照以下步驟顯示帶有星號邊框的半菱形數字圖案

  • 定義一個函式,該函式接收一個輸入n,表示圖案中的行數。

  • 從圖案的上半部分開始

    • 使用for迴圈迭代範圍從1到n+1(包含)。

    • 對於每次迭代,在行的開頭列印一個星號(*)。

    • 使用巢狀for迴圈按遞增順序從1到i列印數字。

    • 在行的末尾列印一個星號。

  • 移至圖案的下半部分

    • 使用for迴圈迭代範圍從n-1到0(不包含),步長為-1。

    • 對於每次迭代,在行的開頭列印一個星號。

    • 使用巢狀for迴圈按遞增順序從1到i列印數字。

    • 在行的末尾列印一個星號。

  • 最後,使用特定的n值呼叫該函式以生成所需的輸出。

示例

讓我們看看以下Python程式,該程式顯示帶有星號邊框的半菱形數字圖案。

def print_half_diamond_pattern(n):
    # Upper half
    for i in range(1, n + 1):
        # Print stars
        print("*", end="")
        
        # Print numbers in increasing order
        for j in range(1, i + 1):
            print(j, end="")
        
        # Print numbers in decreasing order
        for j in range(i - 1, 0, -1):
            print(j, end="")
        
        # Print stars
        print("*")

    # Lower half
    for i in range(n - 1, 0, -1):
        # Print stars
        print("*", end="")
        
        # Print numbers in increasing order
        for j in range(1, i + 1):
            print(j, end="")
        
        # Print numbers in decreasing order
        for j in range(i - 1, 0, -1):
            print(j, end="")
        
        # Print stars
        print("*")


# define n value 
n = 9
print_half_diamond_pattern(n)

輸出

*1*
*121*
*12321*
*1234321*
*123454321*
*12345654321*
*1234567654321*
*123456787654321*
*12345678987654321*
*123456787654321*
*1234567654321*
*12345654321*
*123454321*
*1234321*
*12321*
*121*
*1*

示例

在此示例中,圖案由每行遞增的數字組成,下半部分沒有遞減的數字。其餘結構與前一個示例相同。

def print_half_diamond_pattern(n):
    # Upper half
    for i in range(1, n + 1):
        # Print stars
        print("*", end="")
        
        # Print numbers in increasing order
        for j in range(1, i + 1):
            print(j, end="")
        
        # Print stars
        print("*")

    # Lower half
    for i in range(n - 1, 0, -1):
        # Print stars
        print("*", end="")
        
        # Print numbers in increasing order
        for j in range(1, i + 1):
            print(j, end="")
        
        # Print stars
        print("*")


# define n value 
n = 5
print("Half diamond pattern: ")
print_half_diamond_pattern(n)

輸出

Half diamond pattern: 
*1*
*12*
*123*
*1234*
*12345*
*1234*
*123*
*12*
*1*

更新於:2023年8月29日

801 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.