返回一个三角形的列表列表

时间:2014-01-27 20:22:02

标签: python arrays list

如何从指定的数字返回三角形的列表列表?

示例:

>>> myList = triangle(3)
             [0,0,0]
             [1,1]
             [2]
>>> myList 
[[0,0,0], [1,1], [2]]

2 个答案:

答案 0 :(得分:7)

试试这个:

def triangle(number):
    return [[n]*(number-n) for n in range(number)]

示例输出:

>>> triangle(4)
[[0, 0, 0, 0], [1, 1, 1], [2, 2], [3]]
>>> triangle(5)
[[0, 0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2], [3, 3], [4]]
>>> triangle(3)
[[0, 0, 0], [1, 1], [2]]

打印三角形:

>>> print '\n'.join(map(str, triangle(3)))
[0, 0, 0]
[1, 1]
[2]

答案 1 :(得分:1)

这应该有效:

def triangle(n):
    a=[]
    for i in range(n):
        b=[]
        for j in range(n-i):
            b.append(i)
        a.append(b)
    for row in a:
        print row

编辑:更改了代码,以便函数以三角形形状打印元素。