Составить программу, которая изменяет последовательность слов в строке на обратную. ПИТОН
НАПРИМЕР ввод " привет мир", вывод: "мир привет"
Ответы
Ответ:
Рассмотрим решение
Объяснение:
Итак, задача состоит в том, чтобы переставить слова, разделенные пробелом, этим и будем пользоваться.
На вход получим строку s, где слова разделены пробелом. Запишем все слова, разделенные пробелом, в список lis_s с помощью list comprehensions.
В список rub запишем все элементы из списка lis_s в обратном порядке - в этом нам поможет уменьшающийся range (шаг -1).
Так как требуется строка, а не список, то введем новую строку new_string, которая и будет являться результатом. В цикле for будем прибавлять к ней каждый элемент списка rub. Однако мы столкнемся с некоторой проблемой: слова не будут разделены. Тогда будем добавлять пробелы после каждого слова. Но и здесь ждет подвох: так мы добавим пробел и после последнего слова, тем самым изменив длину данной нам сначала строки. Выход: введем переменную bad_count, в каждой итерации цикла for будем прибавлять к ней 1, пока значение bad_count не совпадет с длиной списка rub. Как только это случится, пробел мы не прибавим.
Подробное решение приведено на скриншоте.
![](https://st.uroker.com/files/b89/b89ffc1c0b8a32616662b0b3438f63b5.png)
s2 = ''
i = len(s)-1
while i >= 0:
if s[i] == ' ':
s2 = s2 + s[i+1:] + ' '
s = s[:i]
i = len(s) - 1
else:
i -= 1
s2 = s2 + s
return s2
string = input()
string = conversely(string)
print(string)
вот попроще программа
В общем, представьте рабочую версию, тогда и обсудим.