我是python语言的新手,我必须创建一个像这样的直角三角形: right triangle
我不能使用打印语句,必须使用循环,并且必须调用函数才能完成循环。这些函数是star()打印('*'),space()打印('')和newline()打印(“”)。
任何和所有提示将不胜感激。
答案 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()