使用循环和调用函数在python中制作直角三角形

时间:2019-03-19 16:19:37

标签: python loops

我是python语言的新手,我必须创建一个像这样的直角三角形: right triangle

我不能使用打印语句,必须使用循环,并且必须调用函数才能完成循环。这些函数是star()打印('*'),space()打印('')和newline()打印(“”)。

任何和所有提示将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以将其视为一个正方形,其中每个行/列的位置决定了要调用的函数。要获得三角形,您必须弄清楚将产生所需结果的每个位置的行和列之间的关系。在您的示例中,您希望在列大于等于剩余行数的位置使用star()。反向浏览将完全提供这种关系:

size = 4
for remainingRows in range(size,0,-1):
    for column in range(1,size+1):
        if column >= remainingRows: star()
        else: space()
    newline()

解决此问题的另一种方法是考虑需要在每行上打印的星星数量,并在行的其余部分(在打印星星之前)调用space()。

size = 4
for line in range(1,size+1):
    for _ in range(size-line): space()
    for _ in range(line): star()
    newline()