В тексте вопроса не сказано, что нельзя пользоваться стандартными модулями, так что весь код программы: 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[]) Цикл заменяется рекурсией, а вместо if используется комбинация and и or.
Код: def swap_words(input_string):
# Используем partition для разделения строки на две части по первому пробелу
first_word, space, second_word = input_string.partition(' '
# Возвращаем строку с переставленными словами
return second_word + space + first_word
# Пример использования функции
input_string = "Hello, world!"
output_string = swap_words(input_string)
print(output_string) # Выведет: world! Hello,