How do I reverse each word in a string, but in the same sentence order? [duplicate]

三世轮回 提交于 2019-12-02 18:52:24

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!