【问题标题】:Upside Down Pyramid (PY)倒金字塔 (PY)
【发布时间】:2015-10-16 20:57:38
【问题描述】:

所以我有一个任务要求我打印一个由 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
         *         
        ***        
       *****       
      *******      
     *********     
    ***********    
   *************   
  ***************  
 ***************** 
*******************

【问题讨论】:

  • 如果这意味着什么,我有 Python 3
  • 改最外层循环for i in reversed(range(1,p+1)):就这么简单。
  • @tobias_k 谢谢我是 Python 新手
  • 似乎我们可以启动一个代码库来打印所有用作初学者练习的星号形状:PyramidMTriangelsDiamondHollow square
  • @cfi 我敢打赌那会是畅销书!但不要忘记包含circles

标签: python


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-06
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 2017-06-13
    • 1970-01-01
    相关资源
    最近更新 更多