我一直在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
我的问题是如何摆脱这个尾随的换行符?
答案 0 :(得分:0)
我能够重现。在复制缓冲区中使用它:
3
5 3
2 8
100 15
运行脚本并粘贴此而没有尾随换行符时,脚本停留在第三个输入行的a = raw_input().split()
,但已输出上面两行的min
( 3
和2
),因此当您点击换行符时,raw_input
会进入换行符,并打印最后一个min
(15
)。
一种解决方案是仅在最后打印:
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
上你需要在该行下面拖动鼠标以获得所选的尾随换行符)