我希望打印数组的元素,不带逗号,并在不同的行上。我正在编写插入排序函数。虽然它工作正常,但我发现正确打印它们很棘手。我写的代码是:
#!/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查看详细的问题陈述。
答案 0 :(得分:5)
print
语句会自动附加一个新行,因此如果您使用
print '\n'
你会得到两条新线。因此,您可以使用print ''
中的空字符串,或者更好的方法是单独使用print
:
print
答案 1 :(得分:1)
这可能是一个修复 -
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
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)
编辑 - 好的! ^有人已经提到过。