Помогите с задачей на Python пожалуйста
Необходимо сделать задачу на языке программирования Python
Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами. Результат запишите в строку и
выведите получившуюся строку.
При решении этой задачи нельзя пользоваться
циклами, конструкцией if и такими командами как split(), find и index().
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
входные данные
Hello, world!
выходные данные
world! Hello,
В тексте вопроса не сказано, что нельзя пользоваться стандартными модулями, так что весь код программы:
import re
print(re.sub(r'^([^ ]+) ([^ ]+)$', r'\2 \1', input()))
Но если хочешь совсем без ничего, то можно сделать так:
def pos(s, n = 0): return s[n] != ' ' and pos(s, n + 1) or n
s = input()
p = pos(s) # получаем позицию пробела без циклов и if
print(s[p + 1:], s[:p])
Цикл заменяется рекурсией, а вместо if используется комбинация and и or.
# Вводим строку
input_str = input()
# Разделяем строку на две части по пробелу
first_word, space, second_word = input_str.partition(' ')
# Выводим слова в обратном порядке
print(second_word + first_word)
Входные данные:
Hello, world!
Выходные данные:
world! Hello,
import re
print(' '.join(re.search('(.*)\s(.*)', input()).groups()[::-1]))

не разбираюсь
input_string = input()
space_index = input_string.rfind(" ")
first_word = input_string[:space_index]
second_word = input_string[space_index + 1:]
output_string = second_word + " " + first_word
print(output_string)
точно