繁体   English   中英

python 中的帕斯卡三角形,已知行

[英]Pascal's triangle in python with known row

所以我这里有帕斯卡三角形。 我理解它背后的逻辑,但无论出于何种原因,在给我一个已知行时我都无法处理。 我知道如何从 n 行构建,但不知道如何在将一行交给下一行时构建...我在这里尝试过,但我被卡住了...我的代码不完整,因为我找不到方法每次对以上数字求和。 任何的想法?

def generate_pascal_row(row):
"""Generate the next row of Pascal's triangle."""
    list_result=[]
    for x in row:
        list_result2 = []
        for j in x:
            return list_result     
print(generate_pascal_row([1, 2, 1]))  # => [1, 3, 3, 1]
print(generate_pascal_row([1, 4, 6, 4, 1]))  # => [1, 5, 10, 10, 5, 1]
print(generate_pascal_row([]))  # => [1]

是这样的吗?

def generate_pascal_row(row):
    list_result=[]
    if len(row) == 0:
        list_result.append(1)
        return list_result
    list_result.append(row[0])
    for i in range(0,len(row)-1):
        list_result.append(row[i]+row[i+1])
    list_result.append(row[len(row)-1])
    return list_result

print(generate_pascal_row([1, 2, 1]))  # => [1, 3, 3, 1]
print(generate_pascal_row([1, 4, 6, 4, 1]))  # => [1, 5, 10, 10, 5, 1]
print(generate_pascal_row([]))  # => [1]

Output:

[1, 3, 3, 1]
[1, 5, 10, 10, 5, 1]
[1]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM