我正在尝试获得此输出(带逗号):
1
2, 1
3, 2, 1
4, 3, 2, 1
5, 4, 3, 2, 1
问题是,我无法“删除”每行数字 1 旁边的最后一个逗号 (,)。这是代码:
for i in range(1,6):
for x in range(i,0,-1):
print("%i,"%(x), end=" ")
print()
最佳答案
您可以通过使用str.join
来实现它与 range
和 map
:
>>> n = 5
>>> for i in range(n):
... print(', '.join(map(str, range(i+1, 0, -1))))
...
1
2, 1
3, 2, 1
4, 3, 2, 1
5, 4, 3, 2, 1
如果您正在寻找一种衬垫解决方案,那么您可以使用嵌套 str.join
来编写它。如:
>>> print('\n'.join(', '.join(map(str, range(i+1, 0, -1))) for i in range(n)))
1
2, 1
3, 2, 1
4, 3, 2, 1
5, 4, 3, 2, 1
其中n
是需要打印的行数。
关于python 用数字绘制半三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41946392/