﻿ Python Exercise: Print out the first n rows of Pascal's triangle - w3resource

# Python Exercise: Print out the first n rows of Pascal's triangle

## Python Functions: Exercise-13 with Solution

Write a Python function that prints out the first n rows of Pascal's triangle.

Note : Pascal's triangle is an arithmetic and geometric figure first imagined by Blaise Pascal.

Sample Pascal's triangle :

Each number is the two numbers above it added together

Sample Solution :

Python Code :

``````# Define a function named 'pascal_triangle' that generates Pascal's Triangle up to row 'n'
def pascal_triangle(n):
# Initialize the first row of Pascal's Triangle with value 1 as a starting point
trow = [1]

# Create a list 'y' filled with zeros to be used for calculations
y = [0]

# Iterate through a range starting from 0 up to the maximum of 'n' or 0 (taking the maximum to handle negative 'n')
for x in range(max(n, 0)):
# Print the current row of Pascal's Triangle
print(trow)

# Update the current row based on the previous row by calculating the next row using list comprehension
# The formula for generating the next row in Pascal's Triangle is based on addition of consecutive elements
trow = [l + r for l, r in zip(trow + y, y + trow)]

# Return True if 'n' is greater than or equal to 1, else return False
return n >= 1

# Generate Pascal's Triangle up to row 6 by calling the 'pascal_triangle' function
pascal_triangle(6)
```
```

Sample Output:

```[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
```

Explanation:

In the exercise above the code defines a function named "pascal_triangle()" that generates Pascal's Triangle up to a specified row 'n'. It uses a list 'trow' to represent each row and y as an auxiliary list for calculations. The function iterates through the rows of the triangle, printing each row and updating it based on the previous row's values using list comprehension. Finally, it generates Pascal's Triangle up to row 6 by calling the "pascal_triangle()" function.

Flowchart:

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿