Nested Loops and Patterns

Nested Loops, Alphabet Patterns, and Pascal’s Triangle in Python

Nested Loops, Alphabet Patterns, and Pascal’s Triangle in Python

This lesson extends nested loops into alphabet patterns using chr() and ord(), and builds Pascal’s triangle with nested loops.

1) Alphabet Right Triangle

n = 5
for i in range(n):
    for j in range(i+1):
        print(chr(65 + j), end=" ")  # 65 is 'A'
    print()

Output:

A
A B
A B C
A B C D
A B C D E
  

2) Alphabet Repeated Rows

n = 5
for i in range(n):
    for j in range(i+1):
        print(chr(65 + i), end=" ")
    print()

Output:

A
B B
C C C
D D D D
E E E E E
  

3) Descending Alphabet Triangle

n = 5
for i in range(n):
    for j in range(n-i):
        print(chr(65 + j), end=" ")
    print()

Output:

A B C D E
A B C D
A B C
A B
A
  

4) Pascal’s Triangle

Pascal’s triangle is a triangular array of binomial coefficients.

n = 6
for i in range(n):
    print(" "*(n-i), end="")  # spacing
    val = 1
    for j in range(i+1):
        print(val, end=" ")
        val = val * (i - j) // (j + 1)  # formula for next binomial coeff
    print()

Output:

      1 
     1 1 
    1 2 1 
   1 3 3 1 
  1 4 6 4 1 
 1 5 10 10 5 1 
  

5) Assignments

Q1: Print alphabets in reverse triangle (E D C B A …).

n = 5
for i in range(n,0,-1):
    for j in range(i):
        print(chr(65 + i - j - 1), end=" ")
    print()

Q2: Generate first 10 rows of Pascal’s triangle and center align it.

n = 10
for i in range(n):
    print(" "*(n-i), end="")
    val = 1
    for j in range(i+1):
        print(val, end=" ")
        val = val * (i - j) // (j + 1)
    print()

© Champak Roy • Lesson on Alphabet Patterns and Pascal’s Triangle

Post a Comment

0 Comments

Me