2017-02-14 202 views
-2

确定这样Im相当新的编程和Im应该创建输出程序使用嵌套循环编码三角形递增地增加

1) 1 
2) 1, 2 
3) 1, 2, 3 
4) 1, 2, 3, 4 
5) 1, 2, 3, 4, 5 

所以基本上在序列中的下一个号码被添加每次迭代以下到目前为止我心中已经想通了如何让数字来一边使用代码

for outer in range(1,6): 
    print str(outer)+")", 

IV尝试过一切,但不能弄明白逐渐增加!

+1

你到现在做了伟大的,你需要另一个for循环写自己数 – Arman

回答

-2

只是让他们在一个列表中。

numbers = [] 

for number in range(6): 
    numbers.append(number) 
    print(numbers) 
0

这应该做的伎俩:

def triangle_printer(n): 
    for i in range(1, n+1): 
     print("%d) %s" % (i, ", ".join(str(x) for x in range(1, i+1)))) 

检查出来:

triangle_printer(5) 

1) 1 
2) 1, 2 
3) 1, 2, 3 
4) 1, 2, 3, 4 
5) 1, 2, 3, 4, 5 

使用join语法帮助您打印所有号码在给定的范围内上一个行,而不是有另一个for循环,其中你首先保留所有你想打印的数字,然后将它们打印出来。

0

简单的方式来做到这一点:

def triangle_print(height): 
    sequence = range(1, height + 1) 
    for unit in sequence: 
     sequence_print = ', '.join(map(str, sequence[:unit])) 
     print "{}) {}".format(unit, sequence_print) 

样本输出:

>>> triangle_print(5) 
1) 1 
2) 1, 2 
3) 1, 2, 3 
4) 1, 2, 3, 4 
5) 1, 2, 3, 4, 5