在 for 循环结束时删除换行符 -- python 2.x

Delete newline at end of for loop -- python 2.x

我一直在 codeabbey.com 上做练习以刷掉铁锈,我一直 运行 解决这个小问题,但仍然令人沮丧。我希望我的程序吐出一行 n 项输出 然后 为给定输入的任何 n 行换行,但我的程序都吐出一行 (n-1)项,换行符,然后是最后一项。

这是一个示例,其中我首先给出了要处理的对数,然后是对本身,我的任务是找到最小值(请原谅我懒惰地使用预先存在的函数):

quanta = int(raw_input())
print "\n"

for i in xrange(quanta):
    a = raw_input().split()
    a = map(int, a)
    print min(a),

并将此输入复制粘贴到命令行中:

3
5 3
2 8
100 15

我期望这样的输出:

3 2 15

但我得到的是 this 输出:

3 2
15

那么我的问题是 我如何去掉尾随的换行符?

我能够重现。在复制缓冲区中使用这个:

3
5 3
2 8
100 15

当 运行 脚本并粘贴此 时没有尾随换行符 脚本停留在第三个输入行的 a = raw_input().split() 处,但已经输出了 [=上面两行的 13=](32),所以当你点击换行符时,raw_input 进入换行符,最后一个 min15 ) 被打印出来。

一个解决方案是只在最后打印:

quanta = int(raw_input())
print "\n"

res = []
for i in xrange(quanta):
    a = raw_input().split()
    a = map(int, a)
    res.append(min(a))

print(" ".join(str(i) for i in res))

另一种方法是在 copy-buffer 中也包括尾随换行符(在 MacOs 上,您需要将鼠标向下拖动到该行下方一点以选中尾随换行符)