Удалить новую строку в конце цикла 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
Тогда мой вопрос: как мне избавиться от этой новой строки?
1 ответ
Я был в состоянии воспроизвести. С этим в буфере копирования:
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
вам нужно перетащить курсор мыши под линией, чтобы выбрать конечный перевод строки)