问题
I tried doing this
while 1:
line = input('Line: ')
print(line[::-1])
but all that did was reverse the whole sentence, I was wondering if someone could help me with a program that converts 'hello world' to 'olleh dlrow' instead of 'dlrow olleh', and how do I make a loop that stops when the input is nothing, or just a space? Thank you in advanced!
回答1:
You need to split the sentence, reverse the words, then reassemble.
The simplest way to split is to do so on whitespace, with str.split()
; reassembly is then just a case of re-joining the reversed words with a space:
' '.join([word[::-1] for word in line.split()])
Demo:
>>> line = 'hello world'
>>> ' '.join([word[::-1] for word in line.split()])
'olleh dlrow'
来源:https://stackoverflow.com/questions/18078595/how-do-i-reverse-each-word-in-a-string-but-in-the-same-sentence-order