Переверните каждое слово в строке - PullRequest
4 голосов
/ 10 декабря 2011

У меня небольшая проблема в моем коде.Я пытаюсь изменить слова и символ строки.Например, «собака побежала» станет «EhT God Nar»

Код почти работает.Это просто не добавляет пробелов.Как бы Вы это сделали?

def reverseEachWord(str):
  reverseWord=""
  list=str.split()
  for word in list:
    word=word[::-1]
    reverseWord=reverseWord+word+""
  return reverseWord 

Ответы [ 7 ]

9 голосов
/ 10 декабря 2011

Вы на правильном пути.Основная проблема в том, что "" - это пустая строка, а не пробел (и даже если вы исправите это, вам, вероятно, не понадобится пробел после последнего слова).

Вот как вы можете это сделатьэто более лаконично:

>>> s='The dog ran'
>>> ' '.join(w[::-1] for w in s.split())
'ehT god nar'
3 голосов
/ 10 декабря 2011
def reversed_words(sequence):
    return ' '.join(word[::-1] for word in sequence.split())

>>> s = "The dog ran"
>>> reversed_words(s)
... 'ehT god nar'
0 голосов
/ 08 июня 2019

x = input ("Введите любое предложение :: ::")

y = x.split ('')

для i in y:

r = i[::-1]
print(r,end=" ")
0 голосов
/ 07 марта 2018

Программа ниже без использования соединения / разделения:

def reverse(sentence):
    answer = ''
    temp = ''
    for char in sentence:
        if char != ' ':
            temp += char
            continue
        rev = ''
        for i in range(len(temp)):
            rev += temp[len(temp)-i-1]
        answer += rev + ' '
        temp = ''
    return answer + temp
reverse("This is a string to try")
0 голосов
/ 20 сентября 2017
name=input('Enter first and last name:')
for n in name.split():
    print(n[::-1],end=' ')
0 голосов
/ 27 мая 2017

Еще один способ сделать это - добавить пробел к вашим словам reverseWord=reverseWord+word+" " и удалить пробел в конце вывода, используя .strip()

def reverse_words(str):
  reverseWord = ""
  list = str.split()
  for word in list:
    word = word[::-1]
    reverseWord = reverseWord + word + " "
  return reverseWord.strip()

проверьте сообщение о том, как оно используется

0 голосов
/ 05 сентября 2016
def reverse_words(sentence):        
     return " ".join((lambda x : [i[::-1] for i in x])(sentence.split(" ")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...