Python - How To Make a Pascal's Triangle in Python

ID : 467

viewed : 221

Tags : PythonPython Array

vote vote

100

Pascal’s triangle is defined as a type of number pattern in which numbers are arranged so that they look like a triangle. A triangular array is formed in this Mathematics concept, formed by numbers that are the sum of the adjacent row. Additionally, the external edges are always 1.

Pascal’s Triangle Algorithm in Python

To form a pascal triangle in Python, there is a stepwise in the software.

  • Firstly, an input number is taken from the user to define the number of rows.
  • Secondly, an empty list is defined, which is used to store values.
  • Then, a for loop is used to iterate from 0 to n-1 that append the sub-lists to the initial list.
  • After that, 1 is appended to the list.
  • Then, a for loop is used again to put the values of the number inside the adjacent row of the triangle.
  • Finally, the Pascal Triangle is printed according to the given format.

The Program for Pascal’s Triangle in Python

input_num = int(input("Enter the number of rows: ")) list = [] #an empty list for n in range(input_num):     list.append([])     list[n].append(1)     for m in range(1, n):         list[n].append(list[n - 1][m - 1] + list[n - 1][m])     if(input_num != 0):         list[n].append(1) for n in range(input_num):     print(" " * (input_num - n), end = " ", sep = " ")     for m in range(0, n + 1):         print('{0:5}'.format(list[n][m]), end = " ", sep = " ")     print() 

Output:

Enter the number: 5           1           1     1          1     2     1         1     3     3     1        1     4     6     4     1  

In this method, every line in the triangle consists of just 1, and the nth number in a row is equal to the Binomial Coefficient. Look at the example program below.

num = int(input("Enter the number of rows:"))      for n in range(1, num+1):       for m in range(0, num-n+1):           print(' ', end='')         # first element is always 1       B = 1       for m in range(1, n+1):            # first value in a line is always 1         print(' ', B, sep='', end='')            # using Binomial Coefficient         BC = B * (n - m) // m      print()   

Output:

Enter the number of rows:5       1      1 1     1 1 1    1 1 1 1   1 1 1 1 1 

In this method, the formula used for the Binomial Coefficient is:

BC = B(line(m), n-1) * (line(m) - n + 1) / n 

This method is completely based on the power of the number 11 as the increasing values of the power on the number 11 form the Pascal Triangle pattern.

Mathematically, here’s how it goes.

11*0 = 1 11*1 = 11 11*2 = 121 11*3 = 1331 11*4 = 14641 

Now applying this technique in Python, refer to the code block below.

num = int(input("Enter the number of rows:"))    for n in range(num):     print(' '*(num-n), end='')      print(' '.join(map(str, str(11**n)))) 

Output:

Enter the number of rows:5      1     1 1    1 2 1   1 3 3 1  1 4 6 4 1 

  • Related HOW TO?