def pascalstriangle(n):
list = [1]
for i in range(n):
print(list)
newlist = []
newlist.append(list[0])
for i in range(len(list) - 1):
newlist.append(list[i] + list[i + 1])
newlist.append(list[-1])
list = newlist
print(pascalstriangle(3))
我希望看到此打印格式[1,1,1,1,2,1]
而不是
[1]
[1, 1]
[1, 2, 1]
答案 0 :(得分:1)
要修复上述代码,无论何时打印list
,您都可以将其添加到其他列表中(以下代码中的将final_list
添加到extend
)并最终在函数结束时返回它:
def pascalstriangle(n):
list = [1]
final_list = []
for i in range(n):
final_list.extend(list)
newlist = []
newlist.append(list[0])
for i in range(len(list) - 1):
newlist.append(list[i] + list[i + 1])
newlist.append(list[-1])
list = newlist
return final_list
print(pascalstriangle(3))
结果:
[1, 1, 1, 1, 2, 1]
您可能想要考虑的一件事是不使用list
作为变量并使用my_list
之类的东西。
答案 1 :(得分:0)
您可以在Python中组合两个列表,如下所示:
print([1, 2] + [3])
> [1, 2, 3]
我希望有所帮助!
答案 2 :(得分:0)
只需合并两个列表:
final_list = list1 + list2