编写Python脚本以使用适当的循环生成以下模式

时间:2015-04-03 13:35:10

标签: python python-2.7 loops python-3.x

使用适当的循环编写Python脚本以生成以下模式。

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

1 个答案:

答案 0 :(得分:0)

通常最好找出您尝试解决的问题的一个子集,或者已经完成了一些代码。使我们不太可能为人们做家庭作业。

所以考虑到这一点,我会告诉你该怎么做:

8 7 6 5 4 3
  7 6 5 4 3
    6 5 4 3
      5 4 3
        4 3
          3

......然后你可以弄清楚如何适应它。

def print_triangle():
    for row in range(8, 2, -1):
        for space in range(8 - row):
            print ' ',

        for col in range(row, 2, -1):
            print col,

        print

print_triangle()

mbp:scratch geo$ python tri.py
8 7 6 5 4 3
  7 6 5 4 3
    6 5 4 3
      5 4 3
        4 3
          3

还有其他更紧凑(也可能更加pythonic)的方法,但是这个方法最清楚地说明了这一点。

我也故意不将某些值拉入常数或参数中。鉴于我怀疑这可能是一项学习任务,我觉得这会使代码变得有点太明显无法修改。

要了解其来源,您应该查看for..inrange()以及print上的文档/ Google /文字。

特别是,您应该弄清楚range调用(8, 2, -1)的原因,以及为什么print col,最后使用逗号。

如上所述,有些值更适合函数的常量或参数。拉出这些将是一个很好的下一步。另一个是学习如何用for space字符串扩展参数或字符串格式说明符替换*循环。