Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

- Ученик (219), открыт 4 дня назад
Необходимо сделать задачу на языке программирования Python
Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами. Результат запишите в строку и
выведите получившуюся строку.
При решении этой задачи нельзя пользоваться
циклами, конструкцией if и такими командами как split(), find и index().
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
входные данные
Hello, world!
выходные данные
world! Hello,
8 ответов
миша спортик Ученик (158) 4 дня назад
не разбираюсь
-Ученик (219) 4 дня назад
И нахера ответил тогда? Самый умный что ли?
Вертолётов 625 Мудрец (13288) -, всё прислал нормальный ответ.
splatt4k Мастер (1145) 4 дня назад
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)

считается ли rfind() find()'ом у вас хз
Оракул Оракул (62098) 4 дня назад
 import re 

print(' '.join(re.search('(.*)\s(.*)', input()).groups()[::-1]))
Иван Гуру (3210) 4 дня назад
s = input()
a, _, b = s.partition(' ')
print(b + ' ' + a)
Вертолётов 625 Мудрец (13288) 4 дня назад
Код:
 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,
Андрей Высший разум (462142) 4 дня назад
В тексте вопроса не сказано, что нельзя пользоваться стандартными модулями, так что весь код программы:
 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.
Юрий Семыкин Искусственный Интеллект (205556) 2 дня назад
А компилятором Питона можно пользоваться?
⠀ ⠀ Знаток (460) 1 день назад
ОТВЕТ:
 # Чтение строки  

s = input()



# Нахождение индекса пробела

space_index = s.rfind(' ')



# Перестановка слов местами с помощью срезов

result = s[space_index + 1:] + ' ' + s[:space_index]



# Вывод результата

print(result)
ПОЯСНЕНИЕ:
 s.rfind(' ') — находит индекс пробела в строке (разделитель между двумя словами).  

s[space_index + 1:] — извлекает второе слово (все символы после пробела).

s[:space_index] — извлекает первое слово (все символы до пробела).

Конкатенация (+) объединяет второе слово, пробел и первое слово.
ПРИМЕР РАБОТЫ:
 входные данные:  

Hello, world!

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

world! Hello,
Похожие вопросы