1

我需要编写一个程序,该程序将使用嵌套的 while 循环输出一条对角线。

它应该如下所示:

*
 *
  *
   *
    *

我知道如何画一个正方形:

    row = 1
    while row <= size:
        col = 1
        while col <= size:
            print chr,
            col = col + 1

        print ''

        row = row + 1
    print ''

输出:

    * * * * *
    * * * * *
    * * * * *
    * * * * *
    * * * * *

但我似乎无法将头绕在对角线上。如果有人可以提供帮助,将不胜感激。代码必须使用 while 循环。

4

2 回答 2

1

你实际上非常接近:

size = 4
row = 1
while row <= size:
    col = 1
    while col < row:
        print ' ',
        col = col + 1

    print '*'

    row = row + 1  # simplify to `row += 1`

这里的诀窍是,在内部循环中,您打印空格(而不是字符),直到您打印的空格比您所在的行号少 1 个空格。然后你跳出循环,打印你的字符和换行符,然后继续。

于 2013-11-08T03:43:39.217 回答
0

在方法中,只需将它传递给您希望该行有多长:

def diagonalLine( size ):

 row = 1
    while row <= size:
        col = 1
        while col <= size:
            print ' ',
            col += 1

        print '*'
于 2013-11-08T04:26:24.787 回答