/
Вопросы и ответы
/
Python
/

Как вывести цикл в одну строку питон

Как вывести цикл в одну строку питон

5 лет назад

Человек-Молекула

Ответы

1
  1. Функция print() имеет параметр end , указывающий какой символ или какую строку выводить после вывода каждого значения (по дефолту переходом на новую строку, т.е. строкой '\n'). Укажите необходимый разделитель (например пробельной строкой ' '):
1
2
for x in range(0, 5):
    print(x, end=' ')  # => 0 1 2 3 4
  1. Перед выводом данные можно агрегировать в массив, который затем методом join() соединяем и выводим одной строкой:
1
2
3
4
5
array = []
for x in range(0, 5):
    array.append(str(x))  # => [0, 1, 2, 3, 4]

print(' '.join(array))  # => 0 1 2 3 4

При этом все элементы должны быть строковыми объектами, поэтому в цикле мы приводили числа к строкам str(x).

4 года назад

Игорь Гахов

0

print() после каждого вызова переводит строку. Чтобы цикл выводил значения в одну строку, передайте параметр end:

1
2
3
for i in range(5):
    print(i, end=' ')
# 0 1 2 3 4

end задаёт, что печатать после значения. По умолчанию это '\n' — перевод строки. После цикла добавьте пустой print(), чтобы следующий вывод начался с новой строки.

Без цикла: распаковка

1
2
3
numbers = [1, 2, 3]
print(*numbers)             # 1 2 3
print(*numbers, sep=', ')   # 1, 2, 3

* передаёт элементы списка в print() отдельными аргументами, sep задаёт разделитель между ними.

Через join

1
2
3
4
5
words = ['a', 'b', 'c']
print(' '.join(words))  # a b c

numbers = [1, 2, 3]
print(' '.join(str(n) for n in numbers))  # 1 2 3

join работает только со строками. Числа сначала переводят в строки, иначе будет TypeError.

Без лишнего пробела в конце

print(i, end=' ') оставляет пробел после последнего числа. На платформах с автопроверкой задач это иногда считается ошибкой. print(*numbers) и join пробела в конце не добавляют.

Сам цикл в одну строку

Если нужно записать цикл в одну строку кода, используйте генератор списка:

1
2
squares = [x * x for x in range(5)]
print(squares)  # [0, 1, 4, 9, 16]

Короткое тело цикла можно записать после двоеточия: for x in range(3): print(x). PEP 8 такой стиль не рекомендует.

Вывод и циклы разбирают в бесплатном курсе «Основы Python».

8 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845