我讨厌我不得不问这个问题,但我一生都无法弄清楚如何使这项工作发挥作用。该程序应该要求输入一个奇数整数,然后创建一个颠倒的金字塔,第一行包含星号的数量作为数字,最后一行只有一个居中的星号。我已经设法弄清楚其中的大部分内容,但无论我如何尝试,我的星号都拒绝居中排列。我在这里查看了类似的其他主题,并尝试使用它们,但仍然无法弄清楚。我不确定为什么使用“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)
*******
*****
***
*
最佳答案
尝试如下:
x = int(input('Enter an odd number width: '))
print('Triangle:')
for i in range(x_int, 0, -1):
print('{:^{str_len}}'.format('* ' * i, str_len= x_int * 2))
这不仅适用于奇数。
关于python - 在Python中使用for循环创建一个倒置的星号三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39883386/