Top.Mail.Ru
Ответы

Помогите с задачей на Python пожалуйста

Необходимо сделать задачу на языке программирования Python
Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами. Результат запишите в строку и
выведите получившуюся строку.
При решении этой задачи нельзя пользоваться
циклами, конструкцией if и такими командами как split(), find и index().
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
входные данные
Hello, world!
выходные данные
world! Hello,

По дате
По Рейтингу
Аватар пользователя
Новичок
6мес

В тексте вопроса не сказано, что нельзя пользоваться стандартными модулями, так что весь код программы:

12
 import re
print(re.sub(r'^([^ ]+) ([^ ]+)$', r'\2 \1', input())) 


Но если хочешь совсем без ничего, то можно сделать так:

1234
 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.

Аватар пользователя
Профи
6мес
12345678
 # Вводим строку
input_str = input()

# Разделяем строку на две части по пробелу
first_word, space, second_word = input_str.partition(' ')

# Выводим слова в обратном порядке
print(second_word + first_word) 

Входные данные:

1
 Hello, world! 


Выходные данные:

1
 world! Hello, 
Аватар пользователя
Оракул
6мес
123
 import re 
 
print(' '.join(re.search('(.*)\s(.*)', input()).groups()[::-1])) 
Аватар пользователя
Знаток
6мес

не разбираюсь

Аватар пользователя
Знаток
5мес

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)

точно