我一直在为uni做一项任务,它要求我们在python中生成Pascal三角形。我的代码可以工作,但我不明白为什么我希望得到第8行的列表索引错误(以及后面的)。def generate_pascal(n): row = []row.append(1) # first item is always 1 # The pa
今天,我向自己挑战,尝试实现一个递归函数,它将产生Pascal的三角形,直到n级。我设法想出了一个解决方案,但是,它并没有我想要的那么高效和优雅。在下面的代码中,每次在pascal()中调用pascal_row()时,它都会迭代传递给pascal_row()的任何级别;而不是让它遍历并在n层构建三角形。#builds the pascal row for the specified leveldef pas
然而,情况似乎并非如此:pascal a = (map ((map pascal' [0..]) !! a) [0..] !!)where pascal' a b | a == 1 && b == 1 = 1
| a <= 0 || b <= 0 = 0| otherwise = pascal (a-1) (b-1) +