"Python中的T字三角形"

2024-06-11 22:01:12 发布

您现在位置:Python中文网/ 问答频道 /正文

编辑**我不能把字符串乘以整数。这是家庭作业,这些是说明**

我需要用python中的for循环或while循环(强制)来做一个三角形。最终输出应该如下所示。在

T
TT
TTT
TTTT
TTTTT
TTTTTT
TTTTT
TTTT
TTT
TT
T

我已经计算了第一部分,从第一行打印到中间行,但我不知道如何反转我的函数。在

^{pr2}$

我想做的就是这样牵引长度。在

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()

但只打印这个,我找不到继续打印“T”的方法,直到它完成:

T
TT
TTT
TTTT
TTTTT
TTTTTT
TTTTT

Tags: 字符串in编辑forbaserange整数length
3条回答

试试下面的方法

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)))

示例

^{pr2}$
T
TT
TTT
TT
T

您可以在单个列表理解中执行此操作:

t = 6
['T' * (n if n < t else 2*t-n) for n in range(1,2*t)]

将其转换为单个for循环很简单:

^{pr2}$

修正了问题的变化:

[''.join('T' for _ in range(n if n < t else 2*t-n)) for n in range(1,2*t)]
  
for n in range(1,2*t):
    print(''.join('T' for _ in range(n if n < t else 2*t-n))
def triangle(base):
    T=''
    for i in range(n):
        Ts = Ts + 'T'
        print Ts
    for i in range(n-1):
        Ts = Ts[1:]
        print Ts

>>> pt(6)
T
TT
TTT
TTTT
TTTTT
TTTTTT
TTTTT
TTTT
TTT
TT
T

相关问题 更多 >