Я пытаюсь сделать рекурсивную функцию, которая генерирует треугольник Паскаля до n-й строки, где n - это пользовательский ввод. Это мой код до сих пор:
def printPascal(l,n):
while n != 1:
temp = [None]*(len(l)+1)
temp[0] = 1
temp[len(l)] = 1
for i in range(1,len(temp)-1):
temp[i] = l[i] + l[i-1]
l = temp
print(temp)
n = n-1
printPascal(l,n)
n = int(input("Enter a value for n:"))
l = [1,1]
printPascal(l,n)
И это ошибка, которую он мне дает:
Traceback (most recent call last):
File "C:\Users\User\Desktop\test.py", line 16, in <module>
printPascal(l,n)
File "C:\Users\User\Desktop\test.py", line 11, in printPascal
printPascal(l,n)
File "C:\Users\User\Desktop\test.py", line 7, in printPascal
temp[i] = l[i] + l[i-1]
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
Дело в том, что я вроде как понимаю проблему и пытался отследить ее безрезультатно. Я знаю, что каким-то образом в коде temp[i] = l[i] + l[i-1]
либо l[i]
, либо l[i -1]
является "None"
, и я не знаю, почему.
Спасибо за ваше время и помощь в этом маленьком затруднительном моем положении.