#python #for-loop #if-statement #reverse
#python #for-цикл #if-оператор #обратный
Вопрос:
Я написал функцию, которая принимает сообщение (строку) в качестве входных данных и заменяет первую букву каждого слова первой буквой предыдущего слова (для самого первого слова я беру первую букву последнего слова):
def changeFirst(message):
msg_list=list(message)
j=0
pre=msg_list[j]
for i in range(len(msg_list)):
if msg_list[i]==' ':
nextpre=msg_list[i 1]
msg_list[i 1]=pre
pre=nextpre
msg_list[0]=pre
msg_list=''.join(msg_list)
return msg_list
changeFirst("now you are in love with me")
mow nou yre an iove lith we
Я хочу написать функцию UnchangeFirst()
, которая отменяет эту функцию, например, она должна работать так:
UnchangeFirst("mow nou yre an iove lith we")
now you are in love with me
Как я могу отменить эту функцию?
Комментарии:
1. Ну, вы пытались написать код для этого? С какой конкретной трудностью вы столкнулись? Можете ли вы объяснить, как бы вы решили проблему вручную? Какую часть этого процесса вы не можете перевести в код?
Ответ №1:
Вот оно!
def changedAgain(message2):
msg_list = list(message2)
j = 0
first=msg_list[0]
for i in range(len(msg_list)):
if msg_list[i]==' ':
msg_list[j]=msg_list[i 1]
msg_list[i 1]=msg_list[j]
j=i 1
msg_list[j]=first
return(''.join(msg_list))
message2="mow nou yre an iove lith we"
print(changedAgain(message2))
>>> "now you are in love with me"