我的代码中遇到一个小问题。我试图扭转单词和字符串的字符。例如“狗跑”会成为“ehT god nar”
代码几乎可以工作。它只是不添加空格。你会怎么做?
def reverseEachWord(str):
reverseWord=""
list=str.split()
for word in list:
word=word[::-1]
reverseWord=reverseWord+word+""
return reverseWord
答案 0 :(得分:9)
你走在正确的轨道上。主要问题是""
是一个空字符串,而不是空格(即使您修复了这个问题,您可能也不希望在最后一个单词后面有空格。)
以下是如何更简洁地完成这项工作:
>>> s='The dog ran'
>>> ' '.join(w[::-1] for w in s.split())
'ehT god nar'
答案 1 :(得分:3)
def reversed_words(sequence):
return ' '.join(word[::-1] for word in sequence.split())
>>> s = "The dog ran"
>>> reversed_words(s)
... 'ehT god nar'
答案 2 :(得分:1)
您还可以使用 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'
答案 3 :(得分:0)
AtomicLong
答案 4 :(得分:0)
另一种方法是为您的文字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()
查看post如何使用
答案 5 :(得分:0)
name=input('Enter first and last name:')
for n in name.split():
print(n[::-1],end=' ')
答案 6 :(得分:0)
在不使用join / split的程序下面:
<script>
element.style.width = element.offsetWidth + "px"
<script>
答案 7 :(得分:0)
x = input(“输入任何句子:: ::”)
y = x.split('')
对于y中的i:
r = i[::-1]
print(r,end=" ")