📜  Python|打印倒星图案(1)

📅  最后修改于: 2023-12-03 14:46:28.441000             🧑  作者: Mango

Python | 打印倒星图案

简介

在这篇文章中,我们将学习如何使用Python编程语言打印出倒星图案。我们将使用循环和条件语句来控制星星的数量和位置,从而创建出各种美丽的图案。

打印单行星星

我们先来看一个简单的例子,如何用Python打印出一行星星。

def print_stars(num_stars):
    for i in range(num_stars):
        print("*", end="")
    print()

上述代码定义了一个函数print_stars,接受一个参数num_stars表示要打印的星星数量。然后使用for循环打印出指定数量的星星,利用print()函数的end参数将每个星星打印在同一行上。最后通过调用print()函数换行。

打印倒三角星星

下面是一个打印倒三角形星星的例子:

def print_inverted_triangle(num_rows):
    for i in range(num_rows, 0, -1):
        print_stars(i)

在上述代码中,我们定义了一个函数print_inverted_triangle,接受一个参数num_rows表示要打印的行数。然后使用for循环逆向打印出num_rows行的星星,调用了print_stars函数来打印每一行的星星。

打印金字塔星星

下面是一个打印金字塔形星星的例子:

def print_pyramid(num_rows):
    for i in range(1, num_rows + 1):
        print(" " * (num_rows - i) + "*" * (2*i - 1))

在上述代码中,在外层for循环中,我们逐行打印金字塔。我们使用空格和星星的数量来控制每行星星的位置。" " * (num_rows - i)打印了每一行星星之前的空格数,用于居中星星。然后通过"*" * (2*i - 1)打印出每一行的星星,星星的数量通过2*i - 1计算得到。

打印菱形星星

下面是一个打印菱形形星星的例子:

def print_diamond(num_rows):
    for i in range(1, num_rows + 1):
        print(" " * (num_rows - i) + "*" * (2*i - 1))
    for i in range(num_rows - 1, 0, -1):
        print(" " * (num_rows - i) + "*" * (2*i - 1))

在上述代码中,我们先使用外层for循环打印出菱形的上半部分。然后再使用内层倒序的for循环打印出菱形的下半部分。两层循环结合起来打印出整个菱形。

示例

以下是一个完整例子,演示如何使用上述函数来打印不同的倒星图案:

print("倒三角星星:")
print_inverted_triangle(5)

print("金字塔星星:")
print_pyramid(5)

print("菱形星星:")
print_diamond(5)

运行上述代码,你将会得到如下的输出:

倒三角星星:
*****
****
***
**
*

金字塔星星:
    *
   ***
  *****
 *******
*********

菱形星星:
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

你可以根据需要修改行数等参数来生成不同的图案。

这只是一个简单的示例,你可以使用这些技巧来创建更复杂的倒星图案。希望你会喜欢这个有趣的编程挑战!