I\'m confused about what this program is actually doing, I know that the output
ID: 3839352 • Letter: I
Question
I'm confused about what this program is actually doing, I know that the output of the program gives you a pattern displaying numbers in the shape of a pyramid. If someone could give an explanation about what each line in the program is doing, that would be really helpful to me and will hopefully allow me to do similar problems in the future.
height = 8
maxHeight = height - 1
for i in range(height):
k, Max = 1, i * 2 + 1
print(maxHeight * " ", end="")
maxHeight -= 1
for j in range(Max):
print(k, end="")
if (j < (Max // 2)):
k *= 2
else:
k //= 2
print()
Explanation / Answer
height = 8
# initialized a variable named height to 8
maxHeight = height - 1
# taking maxHeight to 1 less height, that is 7
for i in range(height):
# running a for loop
# when we give one parameter, it means that it will run from 0 and stops at height
# initially i will be 0 and incremented by 1 each time, till it reaches 8
k, Max = 1, i * 2 + 1
# k is 1
# Max is 1 for first time it loops which means i=0, if i=1 then Max=1*2+1=3
# Max values for i from 0 to 0 respectively are 1, 3, 5, 7, 9, 11, 13, 15
# these represent the count of numbers we want in every single line
print(maxHeight * " ", end="")
# printing space
maxHeight -= 1
# running for loop for Max number of times 0 till Max-1 and stops at Max
for j in range(Max):
print(k, end="")
# printing number k which is initialized to 1 before
# incrementing k by 2 times till half way and then decrementing to half each time
if (j < (Max // 2)):
k *= 2
else:
k //= 2
# printing
print()
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.