首页 > 解决方案 > 修复python中左等腰三角形和右等腰三角形的代码

问题描述

我需要创建生成左等腰星号三角形的代码,但一直在努力编写代码。

for i in range(number):
    print(' '*(number-i-1)+'*'*(2*i+1))  

这是向下等腰三角形的代码,但我不知道如何创建代码以使等腰三角形指向左侧,如果可能的话,如何在我的代码中使三角形指向右侧。

没有错误消息只需要一些帮助来编辑我的代码或可能创建一个新代码来解决我在 python 中的左等腰三角形星号问题。

标签: python

解决方案


您可以使用与上面所做的类似的逻辑,但是如果您不想变得更复杂,则必须循环两次,因为您需要向上计数,然后向下计数,而不是像向上或向下那样向上计数.

您可能会从负数开始循环到正数,反之亦然,但我不会为您进一步解决这个问题。

>>> def triangle_left(number):
...     for i in range(number):
...         print(' '*(number-i-1)+'*'*(i+1))
...     for i in range(number-2,-1,-1):
...         print(' '*(number-i-1)+'*'*(i+1))
... 
>>> triangle_left(5)
    *
   **
  ***
 ****
*****
 ****
  ***
   **
    *

>>> def triangle(number):
...     for i in range(number):
...         print('*'*(i+1))
...     for i in range(number):
...         print('*'*(number-i-1))
... 
>>> triangle(5)
*
**
***
****
*****
****
***
**
*

推荐阅读