如何使用 Python 打印心形图案?

pythonserver side programmingprogramming

简介

在本文中,我们将重点介绍如何使用 Python 打印心形图案。我们将研究代码中将要使用的函数的语法。我们还将了解方法定义以及该方法将采用的参数及其用途。

众所周知,python 是一种开源多功能编程语言,它提供了大量模块和功能来完成我们的任务。借助 Python 的简单性和可读性,我们只需几行代码就可以将计算机屏幕变成画布。

学习如何打印心形图案不仅可以提高我们的编程技能,还可以打开无限可能的大门。

这项技能将帮助我们在实际应用中,例如制作可视化和图形。它还将有助于提高我们的算法思维和解决问题的能力。

在本文中,我们将了解所用函数的语法和解决问题的方法。那么,让我们深入研究如何使用 Python 编程语言打印心形图案。

语法

range(start, stop, step)

range() 函数返回一个数字序列,默认从 0 开始,以 1 为增量(默认情况下),并在指定数字之前停止。

Start - 它是可选的,采用整数指定从哪个位置开始。

Stop - 它是必需的,采用整数指定从哪个位置停止。

Step - 它是可选的,采用整数指定增量,默认值为 1。

方法

此程序将整数作为用户的输入值,以确定心形图案的大小。它根据选择是否打印星号"*"或空格" "的条件将心形分为上部和下部两部分。

以下是以下代码的细分 -

  • 首先,从用户那里获取输入以确定心形的大小。

  • 然后将用户的输入存储在名为"n"的变量中。

  • 通过将大小(即"n")加 1 来确定列,并将该值存储在变量"m"中。

  • 代码使用两个循环,一个用于心形的上部,一个用于下部。

  • 在上部,循环在 0 到(n//2 -1)的范围内迭代,表示行。第二个循环在 0 到 m 的范围内进行迭代,m 代表列。

  • 当"i"等于 (n//2 -2) 且 j 的值为"0"或"m-1"时,检查在上行打印星号的条件。

  • 如果满足条件,则检查在左上部分打印星号的条件,即"j"应小于 (m//2) 并满足这两个条件之一

(i + j) 等于 (n // 2 - 3) 且"j"小于或等于 (m // 4)。
(j - i) 等于 (m // 2 - n // 2 + 3) 且"j"大于 (m // 4)。
  • 要打印右上角的星星,需要检查它是否满足条件,即"j"应大于 (m//2) 并满足其中任一条件

(i + j) 等于 (n // 2 - 3 + m // 2) 且"j"小于 (3 * m // 4)。
(j - i) 等于 (m // 2 - n // 2 + 3 + m // 2) 且 'j' 大于或等于 (3 * m // 4)
  • 如果所有条件均不满足,则程序将进入 else 部分并打印空格" "。

  • 要打印下半部分,循环将在 (n//2-1) 到 'n' 的范围内进行迭代。

  • 如果 (i-j) 等于 (n//2-1) 或 (i+j) 等于 (n-1 +m//2),则将打印星号"*",否则将打印空格" "。

  • 打印心形图案后,程序终止。

此代码接受用户输入的尺寸,并根据尺寸在控制台上打印心形图案提供的尺寸。

示例

# 定义心形图案的尺寸(n 应为偶数)
def print_heart(size):
    n=size
    m=size+1
# 循环显示心形的上半部分
for i in range(n // 2 - 1):
   for j in range(m):
 
      # 在上行打印星星的条件
      if i == n // 2 - 2 and (j == 0 or j == m - 1):
      print("*", end=" ")
 
      # 左上角打印星星的条件
      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=" ")
 
      # 右上角打印星星的条件
      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=" ")
 
      # 打印空格的条件
      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):
 
    # 打印星星的条件
    if (i - j == n // 2 - 1) or (i + j == n - 1 + m // 2):
    	print('*', end=" ")
    
    # 打印空格的条件
    else:
         print(' ', end=" ")
 
   print()
 
size = int(input("Enter the size of the heart pattern: "))
 
# 打印心形图案
print_heart(size)

输出

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

结论

上述代码使用 Python 编程语言编写,它接受用户的输入(一个整数值)并在控制台屏幕上打印心形图案。

该程序使用循环和条件来决定何时打印星号"*"以及何时打印空格""。该程序将心形分为上下两部分,形成完整的心形图案。我们还可以根据用户的输入修改心形的大小。

图案打印可以帮助我们进行数据可视化,开发图形用户界面,它也有助于游戏开发和创建艺术设计。


相关文章


有用资源