我在做一个Python挑战,你必须根据一个列表创建一个倒置的代数金字塔。每一层(往下)都需要是上面的数字之和。
我创建的代码是为4层做的。
第二部分的挑战是如何对任何长度的列表进行处理,所以我添加了len(list)代码来适应。你可以在下面看到我的代码。
我只是想知道是否有更有效的方法来处理长列表,或者我只需要为剩余的层打出更多的代码。
另外,我想知道返回语句是如何融入其中的(下面的代码中给你写了更新返回语句的提示)。
def drawPyramid(list):
layer = ""
layer2 = " "
layer3 = " "
layer4 = " "
for i in range(len(list)):
layer = layer + " " + str(list[i])
for i in range(len(list)-1):
layer2 = layer2 + " " + str(list[i]+list[i+1])
for i in range(len(list)-2):
layer3 = layer3 + " " + str(list[i]+(list[i+1]*2)+list[i+2])
for i in range(len(list)-3):
layer4 = layer4 + " " + str(list[i]+(list[i+1]*3)+(list[i+2]*3)+list[i+3])
print(layer)
print(layer2)
print(layer3)
print(layer4)
#Update this code to generate all 4 layers of the pyramid
#Update this return statement to return the value of the single brick on the last layer of the pyramid
return 0
#Main code starts here
list = [30,12,10,22]
drawPyramid(list)