如何将字符串中的每个单词反转,但保持句子顺序不变?
问题的出现原因是用户想要对字符串中的每个单词进行翻转,但是要保持句子的顺序不变。解决方法是首先使用空格对句子进行分割,然后翻转每个单词,最后重新组合成一个新的字符串。
代码如下:
' '.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上发布一个新的问题,寻求帮助。