请问我的代码这样不对吗
sentence = input().split()for i in range(len(sentence)):
sentence = sentence[::-1]
print(' '.join(sentence))
题目要求:
输入一个句子(一行),将句子中的每一个单词翻转后输出。
输入
只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开
输出
翻转每一个单词后的字符串,单词之间的空格需与原文一致。
样例
输入:
hello world
输出:
olleh dlrow 看上去没啥毛病,你的题目在网址在哪?
只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开
是不是没限制长度? 如果单词之间有多个空格,使用 split() 方法之后再使用 ' '.join() 会导致空格被合并。
为了解决这个问题,你可以使用正则表达式来找到所有的单词并翻转它们。这是一个修复后的代码:
import re
sentence = input()
words = re.findall(r'\S+', sentence)
reverse_words = for word in words]
output = sentence
for word, reverse_word in zip(words, reverse_words):
output = output.replace(word, reverse_word, 1)
print(output)
这段代码使用了正则表达式来查找所有的单词(不包括空格),然后将它们翻转。
之后,我们遍历原始单词和翻转后的单词,用 replace() 函数替换句子中的原始单词,确保保留原始句子中的空格。
最后,打印输出结果。
页:
[1]