擅长:python、mysql、java
<p>你怎么能建造一个高度为0的金字塔?好吧,你可以简单地输出一个句点网格来表示它没有被填充。为此,您需要处理height==0条件,这只是在代码中传递。下面是它可能的样子:</p>
<pre><code>def buildPyramid(height):
base = 2 * height - 1
grid = []
if height <= 0: # Handle a negative or zero height.
# Use a 5x5 grid of emptiness (periods)
return ['.'*5] * 5
else:
for xnum in range(base, 0, -2):
# Determine the number of dots
dots = int((base - xnum)/2)
# Create new row in the grid
line = ['.']*dots + ['X']*xnum + ['.']*dots
# insert new row
grid.insert(0, line)
#Add 'sky' rows
for i in range(5 - height):
grid.insert(0, ['.']*base)
return grid
</code></pre>
<p>执行此操作后,您的输出现在如下所示:</p>
<pre><code>>>> print_grid(pyramidList)
. . . . .
. . . . .
. . X . .
. X X X .
X X X X X
. . . . . . .
. . . X . . .
. . X X X . .
. X X X X X .
X X X X X X X
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . X . . . .
. . . X X X . . .
. . X X X X X . .
. X X X X X X X .
X X X X X X X X X
. . .
. . .
. . .
. X .
X X X
</code></pre>