在新lin上打印列表元素

2024-10-03 19:24:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想打印一个数组的元素,不带逗号,在单独的行上。我正在写一个插入排序函数。虽然它能正常工作,但我发现要正确打印它们是很困难的。我写的代码是:

#!/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)

我得到的输出是:

^{pr2}$

我应该得到以下输出,以便代码通过测试用例:

2 4 6 8 8
2 4 6 6 8
2 4 4 6 8
2 3 4 6 8

也就是说没有多余的行间距。单击here查看详细的问题说明。在


Tags: 函数代码in元素forinputbindef
2条回答

这可能是个补救办法-

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)

编辑-好!^已经有人提过了。

print语句会自动追加一个新行,因此如果使用

print '\n'

你会得到两条新线路。因此,您可以像print ''那样使用空字符串,或者更好的方法是单独使用print

^{pr2}$

相关问题 更多 >