Python 仅使用一个打印功能创建三角形

Python 仅使用一个打印功能创建三角形,python,printing,Python,Printing,有一些限制: 你不能仅仅用字符串构建整个三角形,然后打印出来 代码必须使用循环 我要创建的输出: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 这是我们的考试题,但经过几个小时的思考,我找不到答案。这可以通过使用“\n”表示换行符轻松完成: print "1\n1 2\n1 2 3\n1 2 3 4\n1 2 3 4 5\n1 2 3 4\n1 2 3\n1 2\n1" …或在3.x中 print("1\n1 2\n1

有一些限制:

  • 你不能仅仅用字符串构建整个三角形,然后打印出来
  • 代码必须使用循环
  • 我要创建的输出:

    1 
    1 2 
    1 2 3 
    1 2 3 4 
    1 2 3 4 5 
    1 2 3 4 
    1 2 3 
    1 2 
    1 
    

    这是我们的考试题,但经过几个小时的思考,我找不到答案。

    这可以通过使用“\n”表示换行符轻松完成:

    print "1\n1 2\n1 2 3\n1 2 3 4\n1 2 3 4 5\n1 2 3 4\n1 2 3\n1 2\n1"
    
    …或在3.x中

    print("1\n1 2\n1 2 3\n1 2 3 4\n1 2 3 4 5\n1 2 3 4\n1 2 3\n1 2\n1")
    

    以下是带有参数的版本:

    print '\n'.join(' '.join(str(j + 1) for j in range(5 - abs(i))) for i in range(-5, 6))
    
    或者在Python 3中:

    print('\n'.join(' '.join(str(j + 1) for j in range(5 - abs(i))) for i in range(-5, 6)))
    

    构建一个包含整个三角形的字符串并打印它。请添加您尝试的源代码。感谢@Norrius所说的话。肯定有更多的限制。我会使用多行字符串文字。漂亮多了。谢谢,这就是ı想要的答案。