我似乎在python中创建pascal三角形时遇到了一个问题,我真的很沮丧没有找到这个问题。请帮忙。谢谢。在
代码如下:
inpt = input("Enter levels: ") #number of levels in a triangle
list1 = []
list2 = [1]
for a in range(inpt):
list1.append(1)
for x in range(a+1):
if (x == 0 or x == a):
list1[x]
elif (x > 0 or x < a):
list1[x] = list2[x] + list2[x-1]
print list1
list2 = list1
它打印出这样的东西:
^{pr2}$
使用}引用的是同一个列表。
list2 = list1
表示这两个名称list1
和{要真正复制列表,可以使用
list2 = list1[:]
(或类似copy)的模块。另请参见this question ("python list by value not by reference"))我相信您需要深度复制或克隆列表,而不是list2=list1,因为这将使两个变量指向同一个列表。 参考How to clone or copy a list?
你可以简化你的代码。在
for x in range(a+1)
从0开始一直到a
,因为您使用的是a+1
,所以使用if检查可以避免0
和{1
开始并循环range(a)
这样就不需要任何{相关问题 更多 >
编程相关推荐