删除 for 循环末尾的换行符 - 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

但相反,我得到了这个输出:

3 2
15

那么我的问题是我如何摆脱尾随换行符?

我能够重现。在复制缓冲区中这样做:

3
5 3
2 8
100 15

当运行脚本并在不尾随换行符的情况下粘贴脚本时,脚本停留在第三个输入行的a = raw_input().split(),但已经输出了上面两行的min(32(,所以当你点击换行符时,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您需要将鼠标向下拖动到该行下方以选中尾随换行符(

最新更新