Python 将字符串中的每个单词倒转

Python 将字符串中的每个单词倒转,python,string,Python,String,我的代码中有一个小问题。我正在尝试反转字词和字符串的字符。例如,“狗跑”会变成“ehT神纳” 代码几乎可以工作。它只是不添加空格。你会怎么做 def reverseEachWord(str): reverseWord="" list=str.split() for word in list: word=word[::-1] reverseWord=reverseWord+word+"" return reverseWord 你在正确的轨道上。主要问题是,“是一

我的代码中有一个小问题。我正在尝试反转字词和字符串的字符。例如,“狗跑”会变成“ehT神纳”

代码几乎可以工作。它只是不添加空格。你会怎么做

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

你在正确的轨道上。主要问题是,
是一个空字符串,而不是一个空格(即使您解决了这个问题,您可能也不希望在最后一个单词后面有空格)

以下是如何更简洁地执行此操作:

>>> s='The dog ran'
>>> ' '.join(w[::-1] for w in s.split())
'ehT god nar'

另一种方法是在单词中添加空格
reverseeword=reverseeword+word+”
,并使用
.strip()


查看以下程序,了解如何在不使用联接/拆分的情况下使用它:

name=input('Enter first and last name:')
for n in name.split():
    print(n[::-1],end=' ')
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")
x=输入(“输入任何句子:”)

y=x.分割(“”)

对于y中的i:

r = i[::-1]
print(r,end=" ")

您还可以使用
re
模块处理字符串中的噪声:

>>> import re
>>> s = "The \n\tdog \t\nran"
>>> " ".join(w[::-1] for w in re.split(r"\s+", s))
'ehT god nar'
或者如果你不在乎:

>>> s = "The dog ran"
>>> re.sub(r"\w+", lambda w: w.group(0)[len(w.group(0))::-1], s)
'Teh god nar'

哈实际上与@aix相同。一般来说,“只写代码”的答案被认为是不好的做法。请稍微打开一点你的代码的作用以及它如何帮助解决问题。输入任何句子::::输入::男孩是女孩输出::yob si lrig
r = i[::-1]
print(r,end=" ")
>>> import re
>>> s = "The \n\tdog \t\nran"
>>> " ".join(w[::-1] for w in re.split(r"\s+", s))
'ehT god nar'
>>> s = "The dog ran"
>>> re.sub(r"\w+", lambda w: w.group(0)[len(w.group(0))::-1], s)
'Teh god nar'