【发布时间】:2017-02-14 10:54:36
【问题描述】:
我讨厌我不得不问这个问题,但我一生都无法弄清楚如何完成这项工作。该程序应该要求输入一个奇数,然后创建一个倒置的金字塔,第一行包含星号的数量作为数字,最后一行只有一个居中的星号。我已经设法弄清楚其中的大部分内容,但是无论我尝试什么,我的星号都拒绝居中排列。我在这里查看了类似的其他主题,并尝试使用它们,但仍然无法弄清楚。我不确定为什么要使用“i”,但在另一篇文章中看到它,它看起来比我以前的稍微好一点。
这是我的代码,我已经修改了很多,但无济于事。
x=input('Enter an odd number width: ')
x_int = int(x)
print('Triangle:')
for i in range(x_int+1, 0, -1) :
numwhite = (x_int - i)/2
white_int= int(numwhite)
print(' '* white_int + '*'*i)
哪些输出(输入 13):
Triangle:
**************
*************
************
***********
**********
*********
********
*******
******
*****
****
***
**
*
我希望它看起来像(输入 7)
*******
*****
***
*
【问题讨论】:
-
我不知道你的限制是什么。但是,这里有两个提示: (a) 使用等宽字体(以便每个字符占据相同数量的水平空间)。 (b) 每个星号使用两个字符位置,一个是空白,一个是星号本身。
-
您必须每行删除 两个 星 - 那是
range(x_int+1, 0, -2)。
标签: python python-3.x for-loop