【发布时间】:2015-06-07 22:21:31
【问题描述】:
我希望在单独的行上打印数组的元素,不带逗号。我正在编写一个用于插入排序的函数。虽然它工作正常,但我发现正确打印它们很棘手。我写的代码是:
#!/bin/python
def insertionSort(ar):
newNo = ar[-1]
for i in range(0, m-1):
if(newNo < ar[m-i-1]):
ar[m-i] = ar[m-i-1]
for e in ar:
print e,
print '\n'
ar[m-i-1] = newNo
for f in ar: print f,
m = input()
ar = [int(i) for i in raw_input().strip().split()]
insertionSort(ar)
我得到的输出是:
2 4 6 8 8
2 4 6 6 8
2 4 4 6 8
2 3 4 6 8
我应该得到以下输出以使代码通过测试用例:
2 4 6 8 8
2 4 6 6 8
2 4 4 6 8
2 3 4 6 8
即行之间没有额外的空间。点击here查看详细问题说明。
【问题讨论】:
-
print '\n'将打印两个新行...一个显式,另一个隐式... -
这是
sys.stdout.write和print之间的决定性区别。
标签: python list python-2.7