我正在尝试获取此输出(使用逗号):
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()
答案 0 :(得分:1)
您可以使用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
是需要打印的行数。
答案 1 :(得分:0)
尝试在for
循环后输出最后一个元素:
for i in range(1,6):
for x in range(i,1,-1):
print("%i,"%(x), end=" ")
print("1", end=" ")
print()
#1
#2, 1
#3, 2, 1
#4, 3, 2, 1
#5, 4, 3, 2, 1