Python

Питон программирование. Цикл for

Напиши программу, которая принимает натуральное число n, а затем n слов. Объедини слова в группы по три через пробел и напечатай каждую группу с новой строки.

ввод:
5
кошка
собака
рыбка
хомяк
попугай

вывод:
кошка собака рыбка
хомяк попугай
Вот пример программы на Python, которая решает данную задачу:
 n = int(input("Введите количество слов: ")) 
words = []
for i in range(n):
words.append(input())

for i in range(0, n, 3):
print(words[i], end=" ")
if i + 1 < n:
print(words[i+1], end=" ")
if i + 2 < n:
print(words[i+2])
else:
print()
Сначала считываем число слов n и сами слова в список words. Затем используем цикл for для вывода слов в группы по три. Мы используем параметры функции range для перебора списка words с шагом 3. В теле цикла мы выводим каждую группу слов, используя условия if для проверки, есть ли еще слова в списке. Кроме того, мы используем параметр end функции print, чтобы группы слов выводились в одной строке.
Обратите внимание, что внутри цикла используется несколько условных операторов if, чтобы корректно обработать последнюю группу, если в списке слов не кратное трем количество элементов.
Даулетбай Адилов
Даулетбай Адилов
4 273
Лучший ответ
Сергей Васильянов Большое спасибо!
Особенно за пояснение))
Сергей Корнишев Что за тупая хрень? В Питоне всё решается гораздо проще.
С материализацией списка:
 n = int(input())
ws = [input() for _ in range(n)]
print(*(' '.join(ws[i:i+3]) for i in range(0, len(ws), 3)), sep = '\n')
Без материализации списка (проходим по входным данным и сразу выводим):
 n = int(input())
ws = (input() for _ in range(n))
out = (w + ('\n' if i % 3 == 2 or i == n - 1 else ' ') for i, w in enumerate(ws))
print(*out, sep = '')
Сергей Васильянов в обоих случаях неверный вывод

выводит:
Роб Роботов

должен выводить:
11.0
Сергей Васильянов ой, не туда посмотрел, спасибо, всё верно