Printing patterns of triangles made with series of numbers using the fundamental concepts of PYTHON like print function and for loop only.
Hey CodeSpeeder!
Everyone knows about functions like print() and iterative methods like for loop. Very basic, right? Yet enough to build beautiful and creative patterns to display! Explore this article further to code various triangles made using a series of number patterns.
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
def mountain_triangle(n): for i in range(n): row=[] for j in range(i, 0, -1): row+=[str(j)] row=["\t"*(n-i-1)]+row[::-1]+[str(i+1)]+row print("\t".join(row)) mountain_triangle(5)
1 2 3 4 5 4 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1
def mountain_triangle_inverted(n): for i in range(n): row=[] for j in range(n-i-1, 0, -1): row+=[str(j)] row=["\t"*(i)]+row[::-1]+[str(n-i)]+row print("\t".join(row)) mountain_triangle_inverted(5)
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
def right_num_triangle1_left(n): for i in range(n): for j in range(1, i+2): print(j, end="\t") print() right_num_triangle1_left(5)
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
def right_num_triangle1_left_inverted(n): for i in range(n): for j in range(n-i, 0, -1): print(n-i-j+1, end="\t") print() right_num_triangle1_left_inverted(5)
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
def right_num_triangle1_right(n): for i in range(n): row="\t"*(n-i-1) for j in range(1, i+2): row+=str(j)+"\t" print(row) right_num_triangle1_right(5)
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
def right_num_triangle1_right_inverted(n): for i in range(n): row="\t"*(i) for j in range(1, n-i+1): row+=str(j)+"\t" print(row) right_num_triangle1_right_inverted(5)
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
def right_num_triangle2_left(n): for i in range(n): for j in range(i+1, 0, -1): print(j, end="\t") print() right_num_triangle2_left(5)
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1
def right_num_triangle2_left_inverted(n): for i in range(n): for j in range(n-i, 0, -1): print(j, end="\t") print() right_num_triangle2_left_inverted(5)
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
def right_num_triangle2_right(n): for i in range(n): row="" for j in range(1, i+2): row+="\t"+str(j) row="\t"*(n-i-1)+row[::-1] print(row) right_num_triangle2_right(5)
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1
def right_num_triangle2_right_inverted(n): for i in range(n): row="" for j in range(1, n-i+1): row+="\t"+str(j) row="\t"*(i)+row[::-1] print(row) right_num_triangle2_right_inverted(5)
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
def right_num_triangle2_right_inverted(n): for i in range(n): row="" for j in range(1, n-i+1): row+="\t"+str(j) row="\t"*(i)+row[::-1] print(row) right_num_triangle2_right_inverted(5)
11 12 13 14 15
7 8 9 10
4 5 6
2 3
1
def right_num_triangle3_left_inverted(n): count=n*(n+1)//2 for i in range(n): for j in range(n-i, 0, -1): print(count-j+1, end="\t") count=count-n+i print() right_num_triangle3_left_inverted(5)
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
def right_num_triangle3_right(n): count=1 for i in range(n): row="\t"*(n-i-1) for j in range(i+1): row+=str(count)+"\t" count += 1 print(row) right_num_triangle3_right(5)
11 12 13 14 15
7 8 9 10
4 5 6
2 3
1
def right_num_triangle3_right_inverted(n): count=n*(n+1)//2 for i in range(n): row="\t"*i for j in range(n-i, 0, -1): row+=str(count-j+1)+"\t" count=count-n+i print(row) right_num_triangle3_right_inverted(5)
I have tried to display the most common types of triangles that are constructed using only one character.
Your looping fundamentals will surely improve after practicing these patterns.
Submitted by Kalki Pareshkumar Bhavsar (KalkiBhavsar)
Download packets of source code on Coders Packet
Comments