如何使用 Python 列印心形圖案?


簡介

在本文中,我們將重點介紹如何使用 Python 列印心形圖案。我們將深入瞭解程式碼中將使用的函式的語法。我們還將學習方法定義以及方法將接受的引數及其用途。

眾所周知,Python 是一種開源的多功能程式語言,它提供了大量的模組和功能來完成我們的任務。藉助 Python 的簡潔性和可讀性,我們只需幾行程式碼即可將計算機螢幕變成畫布。

學習如何列印心形圖案不僅可以增強我們的程式設計技能,還可以開啟通往無限可能的大門。

這項技能將幫助我們在現實生活中的應用中,例如製作視覺化和圖形。它還有助於增強我們的演算法思維和解決問題的能力。

在本文中,我們將學習所用函式的語法以及解決問題的方法。因此,讓我們深入瞭解一下如何使用 Python 程式語言列印心形圖案。

語法

range(start, stop, step)

range() 函式返回一個數字序列,預設從 0 開始,預設遞增 1,並在指定數字之前停止。

起始值 - 可選,接受一個整數,指定從哪個位置開始。

結束值 - 必需,接受一個整數,指定在哪個位置停止。

步長 - 可選,接受一個整數,指定增量,預設為 1。

方法

此程式從使用者處獲取一個整數作為輸入值,該值決定心形圖案的大小。它根據條件將心形圖案分為上下兩部分,選擇是列印星號 '*' 還是空格 ' '。

以下是以下程式碼的分解 -

  • 首先,從使用者處獲取輸入以確定心形的大小。

  • 使用者的輸入然後儲存在名為“n”的變數中。

  • 列數由大小加 1 確定,即“n”,此值儲存在變數“m”中。

  • 程式碼使用兩個迴圈,一個用於心形圖案的上半部分,一個用於下半部分。

  • 在上半部分,迴圈遍歷 0 到 (n//2 -1) 的範圍,表示行。第二個迴圈遍歷 0 到 m 的範圍,表示列。

  • 當“i”等於 (n//2 -2) 且 j 的值為“0”或“m-1”時,檢查列印上行星號的條件。

  • 如果滿足條件,則檢查左上部分列印星號的條件,即“j”應小於 (m//2) 並滿足以下任一條件

(i + j) equals (n // 2 - 3) and 'j' is less than or equal to (m // 4).
(j - i) equals (m // 2 - n // 2 + 3) and 'j' is greater than (m // 4).
  • 如果滿足條件,則檢查右上部分列印星號的條件,即“j”應大於 (m//2) 並滿足以下任一條件

(i + j) equals (n // 2 - 3 + m // 2) and 'j' is less than (3 * m // 4).
(j - i) equals (m // 2 - n // 2 + 3 + m // 2) and 'j' is greater than or equal to (3 * m //	4)
  • 如果都不滿足條件,則程式將進入 else 部分並列印空格“ ”。

  • 要列印下半部分,迴圈遍歷從 (n//2-1) 到 'n' 的範圍。

  • 如果 (i-j) 等於 (n//2-1) 或 (i+j) 等於 (n-1 +m//2),則列印星號 '*',否則列印空格 ' '。

  • 列印心形圖案後,程式終止。

此程式碼獲取使用者輸入的大小,並根據提供的大小在控制檯上列印心形圖案。

示例

# Define the size of the heart pattern (n should be even)
def print_heart(size):
   n=size
   m=size+1
# Loop for the upper part of the heart
for i in range(n // 2 - 1):
   for j in range(m):
 
      # Condition for printing stars in the upper line
      if i == n // 2 - 2 and (j == 0 or j == m - 1):
      print("*", end=" ")
 
      # Condition for printing stars in the left upper part
      elif j <= m // 2 and ((i + j == n // 2 - 3 and j <= m // 4) \ or (j - i == m // 2 - n // 2 + 3 and j > m // 4)):
      print("*", end=" ")
 
      # Condition for printing stars in the right upper part
      elif j > m // 2 and ((i + j == n // 2 - 3 + m // 2 and j < 3 * m // 4) \ or (j - i == m // 2 - n // 2 + 3 + m //2 and j >= 3 * m // 4)):
      print("*", end=" ")
 
      # Condition for printing spaces
      else:
         print(" ", end=" ")
   print()
 
# Loop for the lower part of the heart
for i in range(n // 2 - 1, n):
   for j in range(m):
 
      # Condition for printing stars
      if (i - j == n // 2 - 1) or (i + j == n - 1 + m // 2):
         print('*', end=" ")
 
      # Condition for printing spaces
      else:
         print(' ', end=" ")
 
   print()
 
size = int(input("Enter the size of the heart pattern: "))
 
# Printing the heart pattern
print_heart(size)

輸出

    * *       * *     
  *     *   *     *   
*         *         * 
*                   * 
*                   * 
  *               *   
    *           *     
      *       *       
        *   *
          *

結論

以上程式碼使用 Python 程式語言編寫,它接受使用者的輸入(一個整數),並在控制檯螢幕上列印心形圖案。

該程式使用迴圈和條件來決定何時列印星號 '*' 和何時列印空格 ' '。該程式將心形圖案分為上下兩部分,以形成完整的心形圖案。我們還可以根據使用者的輸入修改心形圖案的大小。

圖案列印可以幫助我們進行資料視覺化和開發圖形使用者介面,它在遊戲開發和建立藝術設計方面也很有用。

更新於: 2023年10月4日

3K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.