Нужно поменять местами первую и последнюю букву каждого слова в списке Python

Мы должны вводить текст с пропусками, в конце точка. На выводе получить слова, отличающиеся от последнего и в каждом слове заменить первую и последнюю букву местами.

Основная часть сделана, не могу понять, как сделать проверку каждого слова списка, сама идея что-то типо того:

a[-1] + a[1:-2] + a[0]

Сам основной код:

b = input("Введіть Ваш текст: ")
print(b)
removed = b.replace(".", "") 
a = list(removed.split())
new = [x[:-1] for x in a]
del new[-1]
#недостаящая часть
print

Ответы (1 шт):

Автор решения: Zhihar

во первых если вы хотите отрезать точку именно в конце, то это надо делать так:

removed = b[:-1]

после того как вы разбили removed на список слов и знаете последнее - сформируйте новый список без последнего слова и одинаковых с ним:

new = [word for word in a if word != a[-1]]

т.е. в новый список входят все элементы старого не равные последнему элементу старого списка

ну а отрезать буквы можно просто

word[1:-1]

т.е. весь ваш код будет:

words = input("Введіть Ваш текст: ")[:-1].split()

text = ' '.join(word[1:-1] for word in words if word != words[-1]) + '.'

print(text)

это если вам надо на выходе строку собрать и вернуть точку (сужу просто по той же задаче, которая была вчера и позавчера на форуме :))

→ Ссылка