line = ‘*’
max_length = 5
while len(line) <= max_length:
print(line)
line += “*”
What should I add to it?
line = ‘*’
max_length = 5
while len(line) <= max_length:
print(line)
line += “*”
What should I add to it?
Hello Revant,
i don´t know if this is the fanciest solution, but it definitly worked for me
max_lenght = 50 #1
space = max_lenght * (" ") #2
line = "*" #3
memory = "" #4
while len(line) <= max_lenght: #5
print(space + line + memory )#6
memory = line #7
line += "*" #8
space = space[:-1] #9
#1 we declare the “max_lenght variable”, it could be any number depending on the size you want
#2 we create a variable(a string multiplied by a number=max_lenght) wich would print the spaces
#3 we declare the “line” variable wich would paint the body of the triangle
#4 we declare the “memory” variable wich will be a memory space that will record the previous
value of the “line” variable before each iteration occurs.
#5 we define the loop
#6 we print the line wich will consist in a string concatenation
#7 we save the value of the “line” before step #8 occurs
#8 we add a new “*” to our “line” variable
#9 we access the “space” string and substract the last character
I hope this helps
> line = '*'
> max_length = 5
> space = max_length * " "
>
> while len(line) <= max_length:
> print(space + line )
> line += "*"
> space = space[:-1]
I would just want one more clarification about the
space = space[:-1], How is this function being operated?
What is the change that it brings?
Sure!!
As you may see when you create the variable space = max_lenght * (" ")
, being max_lenght = 5
it will return something like this: space = " " + " " + " " + " " + " "
By doing this, space = space[:-1]
, you are eliminating the last character of the string in order to replace that space by the new character "*"
It will work like this:
> " " + " " + " " + " " + " " + "*" > " " + " " + " " + " " + "*" + "*" > " " + " " + " " + "*" + "*" + "*"
and so on…
Thank you for explaining it in very detail.
Kudos to you…
Just one thing more
When I create the function
space = max_length * (" ")
I do not get the result that you have mentioned.
Have you made this for an explanation? Because when I run this code then I get blank output.
Please help me out with it.
Okey!!
The result i´m showing there is just a graphical explanation of what is happening, not the real output. You may not see the real output when you run the code because it´s just a 5 spaces string. It actually is a blank output!!