Discuss / Python / 在大神的代码上修改了一下,可以运行结果。

在大神的代码上修改了一下,可以运行结果。

Topic source

宁康NK

#1 Created at ... [Delete] [Delete and Lock User]
def triangles(x):
    b = [1]
    while True:
        print(b)
        if x==len(b):
            break
        b = [1] + [b[i] + b[i+1] for i in range(len(b)-1)] + [1]
triangles(5)

宁康NK

#2 Created at ... [Delete] [Delete and Lock User]

有一处错误,True得改成x>0,不然当输入的x<=0时,就无限计算下去了。

def triangles(x):
    b = [1]
    while x>0:
        print(b)
        if x==len(b):
            break
        b = [1] + [b[i] + b[i+1] for i in range(len(b)-1)] + [1]
triangles(-1)

宁康NK

#3 Created at ... [Delete] [Delete and Lock User]

用for循环做了一下:

def triangles(x):
    if x>0:
        b = [1]
        for j in range(x):
            print(b)
            if x==len(b):
                break
            b = [1] + [b[i] + b[i+1] for i in range(j)] + [1]
    else:
        print('请认真看提示!')

y=input('请输入正整数:')
triangles(int(y))

  • 1

Reply