📅  最后修改于: 2023-12-03 15:25:45.279000             🧑  作者: Mango
作为一个程序员,你肯定经常需要在控制台上输出各种图案,而金字塔图案无疑是最基本、最常见的一种。下面我们就来看看如何用代码来打印出不同大小的金字塔图案。
以下代码可以打印出指定层数的金字塔图案:
def print_pyramid(n):
for i in range(1, n+1):
print(' '*(n-i) + '*'*(2*i-1))
这里的 n
表示金字塔的层数。我们使用 range
函数循环打印每一层,然后根据当前层数 i
计算需要打印多少个空格和星号。运行 print_pyramid(5)
就可以得到一个五层的金字塔:
*
***
*****
*******
*********
如果你希望打印出指定宽度的金字塔,即底部有几个星号,可以使用以下代码:
def print_pyramid(width):
n = (width + 1) // 2
for i in range(1, n+1):
print(' '*(n-i) + '*'*(2*i-1))
这里的 width
表示金字塔底部的宽度。我们首先根据宽度计算出金字塔的层数 n
,然后按照之前的方法来打印每一层。例如,运行 print_pyramid(7)
就可以得到一个底部宽度为 7 的金字塔:
*
***
*****
*******
当金字塔的层数较多时,简单的打印方式可能会出现对齐问题。为了让输出效果更加美观,我们可以使用 center
函数来居中输出每一行:
def print_pyramid(n):
for i in range(1, n+1):
print(('*'*(2*i-1)).center(2*n-1))
这里的 center
函数可以让每一行的内容居中对齐。我们不用再手动计算需要多少空格,直接按照每一层的长度计算即可。例如,运行 print_pyramid(5)
就可以得到一个五层的金字塔并且每一行都居中对齐:
*
***
*****
*******
*********
金字塔图案是控制台输出中最基本、最常见的图案之一。在打印金字塔时,我们需要根据层数或底部宽度来计算需要输出多少个空格和星号。此外,使用 center
函数可以让输出效果更加美观。