Python中的嵌套循环“For”:订单T.

时间:2015-06-05 19:12:35

标签: python

我是Python的初学者。 我很难解决我的问题:

使用嵌套for循环,打印角色T的直角三角形 三角形最窄点一个字符宽,最宽点七个字符宽的屏幕:

T
TTT
TTTT
TTTTT
TTTTTT
TTTTTTT

      T  
     TT
    TTT
   TTTT
  TTTTT
 TTTTTT
TTTTTTT

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

我不会为你写代码,但我可以给你一些提示:

  • 嵌套循环表示另一个循环内部的循环,在这种情况下,一个循环用于迭代连续的行,第二个循环用于在每行中打印字符
  • 第二个例子需要与第一个例子相同,但你还需要检查内部循环的索引并决定是否打印空间或者' T'字符

答案 1 :(得分:1)

我希望你已经得到了答案:)

模式#1

def triangle(n):
    for i in range(1, n +1):
        print ('T' * i).rjust(n, ' ')

triangle(7)

##Results >>>

      T  
     TT
    TTT
   TTTT
  TTTTT
 TTTTTT
TTTTTTT

模式#2

def triangle1(n):
    for i in range(1, n +1):
        print ('T' * i)

triangle1(7)

# Results >>>>
T
TTT
TTTT
TTTTT
TTTTTT
TTTTTTT

仅使用for循环生成模式

这里我试图仅在for循环的帮助下生成并且将非常通用的方式。我有目的地没有使用任何现成的功能,所以你可以随时进一步优化它。

模式#1

def triangle(n):
    # Iterate through number of columns
    for i in range(1, n +1):
        s = ""
        # Iterate through number of rows
        for j in list(range(i)):
            s += "T"
        print s

triangle(7)

模式#2

def triangle1(n):
    # Iterate through number of columns
    for i in range(1, n +1):
        s = ""
        # Iterate through number of rows
        for j in list(range(i)):
            blank = ""
            # Generate 'blank spaces'
            for k in (range(n - i)):
                blank += " "
            # Generate 'T'
            s += "T"
        print blank + s

triangle1(7)