Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

EDIT ** I can't multiply strings by an integer. Its for a homework and those were the instructions **

I need to do a triangle in python using for loops or while loops(mandatory). The final output should look like this.

T
TT
TTT
TTTT
TTTTT
TTTTTT
TTTTT
TTTT
TTT
TT
T

I already figure the firs part, that prints from the first line to the middle line, but i cant figure how to reverse my function.

def triangle(base):
    for length in range(base+1):
        for b in range(length):
            print("T",end="")
    print() 

What I tried to do was sustracting length like this.

def triangle(base):
for length in range(base+1):
    for b in range(length):
        print("T",end="")
    print()
for length in range(base):
    for b in range(length-1):
        print("T",end="")
print()

But only print this and I cant find the way to keep printing the "T" until it gets done:

T
TT
TTT
TTTT
TTTTT
TTTTTT
TTTTT
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
476 views
Welcome To Ask or Share your Answers For Others

1 Answer

try the following

def triangle(base):
    for i in range(1,base+1):
        print(''.join('T' for o in range(i)))
    for i in reversed(range(1,base)  # note the lack of the +1 on base
        print(''.join('T' for o in range(i)))

Example

from shapes import triangle
triangle(3)
T
TT
TTT
TT
T

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...