n=int(input("Enter number of rows: "))
a=[]
for i in range(n):
a.append([])
a[i].append(1)
for j in range(1,i):
a[i].append(a[i-1][j-1]+a[i-1][j])
if (n!=0):
a[i].append(1)
for i in range(n):
print(" "*(n-i),end = " ",sep = " ")
for j in range(0,i+1):
print('{0:6}'.format(a[i][j]),end = " ",sep = " ")
print()
Я пытаюсь научиться печатать треугольник Паскаля, застрял в одной строке
a[i].append(a[i-1][j-1]+a[i-1][j])
это строка выше, что делает линия. Кто-нибудь может объяснить, что делает a[i-1][j-1]?
я приложил картинку пожалуйста посмотрите
Плохо публиковать код или данные в виде картинок. Нет возможности скопировать и вставить картинку в редактор кода. Так что будет намного сложнее и, следовательно, менее вероятно, что кто-то поможет. Чтобы получить максимальную отдачу от сайта, важно задавайте хорошие вопросы, что включает в себя создание примера Минимальный, полный и проверяемый.
Разместите код вместо картинки
да выложил код
Вы можете отлаживать программу, используя pdb
. Это поможет вам получить информацию о потоке и переменных по каждой строке.
Обратите внимание, что a
— это список, где a[i]
— i-я строка треугольника Паскаля.
a[i][j]
хранит j-й элемент i-й строки треугольника Паскаля, это int.
Они просто используют формулу Треугольник Паскаля.
a[i][j] = a[i-1][j-1] + a[i-1][j]
Можете ли вы показать нам весь код вместо одной строки?