如何将字符串中的每个单词反转,但保持句子顺序不变?

14 浏览
0 Comments

如何将字符串中的每个单词反转,但保持句子顺序不变?

我尝试了以下代码:\n

while 1:
    line = input('Line: ')
    print(line[::-1])

\n但这只是将整个句子倒序输出,我想知道是否有人可以帮我写一个程序,将\'hello world\'转换为\'olleh dlrow\'而不是\'dlrow olleh\',还有如何设置一个循环,在输入为空或只有一个空格时停止?谢谢提前!

0
0 Comments

问题的出现原因是用户想要对字符串中的每个单词进行翻转,但是要保持句子的顺序不变。解决方法是首先使用空格对句子进行分割,然后翻转每个单词,最后重新组合成一个新的字符串。

代码如下:

' '.join([word[::-1] for word in line.split()])

如果输入的字符串为空,代码会返回一个空字符串。如果要跳过空行,可以使用`if not line: continue`语句。

如果想要将所有输入的行都写入一个列表,并在没有更多行可写入时按下回车键,然后打印出所有翻转后的文本,可以将所有行收集到一个列表对象中,然后循环遍历列表中的每一行,在打印之前对每一行应用上述的解决方法。

以下是一个示例代码:

line = input('Line: ')
list1 = []
while line != '':
    line = input('Line: ')
    list1.append(line)
print(' '.join(word[::-1] for word in line.split()))

要修复代码中的错误,可以将`list1 = []`放在while循环之外,因为如果放在循环内部,每次出现新行时都会替换掉原来的列表。

如果仍然无法解决问题,可以在Stack Overflow上发布一个新的问题,寻求帮助。

0