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

ID : 467

viewed : 221

Tags : PythonPython Array

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 ``