# Pascal's Triangle
n =6
triangle =[[1],[1,1]]for i inrange(2, n):
cur =[1]
pre = triangle[i-1]for j inrange(i-1):
cur.append(pre[j]+pre[j+1])# The sum of the two terms in the previous row
cur.append(1)
triangle.append(cur)print(triangle)
# Pascal's Triangle
triangle =[]
n =6for i inrange(n):
cur =[1]
triangle.append(cur)if i ==0:continue
pre = triangle[i-1]for j inrange(i-1):
cur.append(pre[j]+ pre[j+1])
cur.append(1)print(triangle)
# Pascal's Triangle# Version 1
triangle =[]
n =6for i inrange(n):
row =[1]*(i+1)
triangle.append(row)for j inrange(1, i//2+1):
val = triangle[i-1][j-1]+ triangle[i-1][j]
row[j]= val
row[-j-1]=val
print(triangle)
# Pascal's Triangle# Version 2# Improved Version
triangle =[]
n =6for i inrange(n):
row =[1]*(i+1)
triangle.append(row)for j inrange(1, i//2+1):
val = triangle[i-1][j-1]+ triangle[i-1][j]
row[j]= val
if i !=2*j:
row[-j-1]=val
print(triangle)
# Pascal's Triangle# Version 1
n =6
row =[1]* n
print('='*30)for i inrange(n):
old =1for j inrange(i//2):
val = old + row[j+1]
old = row[j+1]
row[j+1]= val
if i !=2*(j+1):
row[i-(j+1)]= val
print(row[:i+1])print('='*30)
# Pascal's Triangle# Version 2
n =6
row =[1]* n
print('='*30)for i inrange(n):
old =1for j inrange(i//2):
row[j+1], old = old + row[j+1], row[j+1]if i !=2*(j+1):
row[i-(j+1)]= row[j+1]print(row[:i+1])print('='*30)