颠倒金字塔(PY)

时间:2015-10-16 20:57:38

标签: python

所以我有一项任务要求我打印一个用Python中的星号制作的颠倒金字塔。我知道如何打印出正常的金字塔但是如何翻转? 金字塔的高度由用户的输入确定。这就是我对普通金字塔的看法:

#prompting user for input
p = int(input("Enter the height of the pyramid: "))


#starting multiple loops
for i in range(1,p+1): 
  for j in range(p-i):
    #prints the spacing
     print(" ",end='')
  #does the spacing on the left side
  for j in range(1,i):
    print("*",end='')
  for y in range(i,0,-1):
    print("*",end='')

  #does the spacing on the right side
  for x in range(p-i):
    print(" ",end='')



  #prints each line of stars
  print("")

输出:

Enter the height of the pyramid: 10
         *         
        ***        
       *****       
      *******      
     *********     
    ***********    
   *************   
  ***************  
 ***************** 
*******************

1 个答案:

答案 0 :(得分:0)

如果要反转金字塔,只需反转外环即可。感谢the magic of python,您只需使用reversed内置函数即可。 此外,您可以使用字符串乘法和str.center函数稍微简化循环体。

for i in reversed(range(p)):
    print(('*' * (1+2*i)).center(1+2*p))