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

时间:2017-02-06 20:32:54

标签: python for-loop printing newline python-2.x

我一直在codeabbey.com上做练习来消除生锈,我一直在遇到这个小但仍然令人沮丧的问题。我希望我的程序吐出n行输出的一行,然后任意n行给定输入的换行符,但我的程序都吐出一行(n-1)项,a换行,然后是最后一项。

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

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

但我得到输出:

3 2
15

我的问题是如何摆脱这个尾随的换行符?

1 个答案:

答案 0 :(得分:0)

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

3
5 3
2 8
100 15

运行脚本并粘贴此而没有尾随换行符时,脚本停留在第三个输入行的a = raw_input().split(),但已输出上面两行的min32),因此当您点击换行符时,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))

另一种方法是在复制缓冲区中包含尾随换行符(在MacOs上你需要在该行下面拖动鼠标以获得所选的尾随换行符)