使用适当的循环编写Python脚本以生成以下模式。
5 4 3 2 1
4 3 2 1
3 2 1
2 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..in
和range()
以及print
上的文档/ Google /文字。
特别是,您应该弄清楚range
调用(8, 2, -1)
的原因,以及为什么print col,
最后使用逗号。
如上所述,有些值更适合函数的常量或参数。拉出这些将是一个很好的下一步。另一个是学习如何用for space
字符串扩展参数或字符串格式说明符替换*
循环。