Python如何输出指定倒序数字模板?能否通过for循环实现?
实现方案
完全可以通过for循环实现目标模板输出,你写的代码逻辑方向是对的,改两个小问题就能达到预期效果:
- 外层循环从0开始会多打印一行空行,从1开始遍历即可
- 逐元素打印加空格的写法会在每行末尾多留一个多余空格,换行逻辑也可以简化
参考代码
简洁实现
num = int(input()) for row in range(1, num + 1): print(' '.join(str(digit) for digit in range(row, 0, -1)))
保留双层循环结构的实现(和你原有代码写法更接近)
如果想保留你原来双层for循环的写法,只需要调整循环起始值,处理下行尾空格即可:
num = int(input()) for row in range(1, num + 1): line_parts = [] for digit in range(row, 0, -1): line_parts.append(str(digit)) print(' '.join(line_parts))
运行效果
当输入数字为5时,输出和目标模板完全一致:
1 2 1 3 2 1 4 3 2 1 5 4 3 2 1
内容的提问来源于stack exchange,提问作者emanuel
相关产品推荐
相关产品推荐

