# 1. Introduction

The Pascal's Triangle is a triangular array of binomial coefficients. Named after the French mathematician Blaise Pascal, it has applications in algebra, probability, and number theory. Each row represents the coefficients of the binomial expansion, and constructing this triangle in Python is a good exercise in understanding loops and lists.

# 2. Problem Statement

Create a Python program that prints out the first n rows of Pascal's Triangle.

# 3. Solution Steps

1. Define the number of rows for Pascal's Triangle.

2. Create a function to generate the triangle using a list comprehension.

3. For each row, calculate the value of each element based on the elements of the previous row.

4. Format and print each row.

# 4. Code Program

``````# Function to generate Pascal's Triangle
def generate_pascals_triangle(n):
triangle = []  # The first row is always 

for i in range(1, n):
# Start each row with 1
row = 
# Calculate the values in the middle of the row
for j in range(1, i):
row.append(triangle[i-1][j-1] + triangle[i-1][j])
# End each row with 1
row.append(1)
# Append the row to the triangle
triangle.append(row)

return triangle

# Number of rows in Pascal's Triangle
num_rows = 5

# Generate Pascal's Triangle
pascals_triangle = generate_pascals_triangle(num_rows)

# Print Pascal's Triangle
print("Pascal's Triangle:")
for row in pascals_triangle:
print(row)
``````

### Output:

```Pascal's Triangle:

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

### Explanation:

1. generate_pascals_triangle is a function that constructs Pascal's Triangle up to n rows.

2. It initializes the triangle with the first row, which is always .

3. A for loop generates each subsequent row where each element is the sum of the two numbers directly above it on the previous row.

4. The append method is used to add each newly calculated row to the triangle.

5. The number of rows num_rows is set to 5.

6. pascals_triangle calls generate_pascals_triangle to generate the triangle.

7. Another for loop iterates through pascals_triangle, printing each row on a new line.

8. The program outputs the first five rows of Pascal's Triangle, properly formatted as lists.