Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
489 views
in Technique[技术] by (71.8m points)

Triangle of "T" in Python

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

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

1 Reply

0 votes
by (71.8m points)

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...