我知道已有逆向解决方案,但无法为以下问题找出概念。
。是的,我们看到了自己的最终结果,这是一个很好的结局
所以它返回
玛丽有一只小羊羔,它的羊毛像雪一样白。
我离得很远吗?
line=raw_input()
lines = []
i = 0
while line != "end":
lines.append(line)
line=raw_input()
for line in lines[::-1]:
print line
答案 0 :(得分:0)
这里有一些调整内容。
看起来你想要保持逆转用户输入,直到输入结束'
更简单的方法是:
while True: # to set the loop going
line = raw_input()
if line == 'end': break # to exit the loop
在此之后,如果输入不是'结束',则默认为您的撤消代码:
print line[::-1] # notice the indentation
这是光滑的索引。
如果你想保存反转的字符串,这是另一回事,但你不清楚你想要这样做。
这不会处理一个包含' end'在末尾 。 。 。这是一个必不可少的部分吗?因为它对我来说似乎没什么必要。
如果'结束'总是在那里(有或没有while循环):
line = raw_input()
print line[-5::-1]
这将扭转整个事情,但将会结束'结束'首先是结束。
如果这没有帮助,您能否提供一些有关您想要达到的目标的更多信息?
答案 1 :(得分:-2)
我假设您的所有输入都已累积在一个字符串中,并且结束标记已被删除。总体战略是:
在代码中(首先按步骤分解):
line = ".wons sa etihw saw eceelf sti bmal elttil a dah yraM"
words = line.split(" ")
words_letters_reversed = [ w[::-1] for w in words]
word_order_reversed = list(reversed(words_letters_reversed))
reassembled_into_a_string = " ".join(word_order_reversed)
print(reassembled_into_a_string)
=> “玛丽有一只小羊羔,它的羊毛像雪一样白。”
然后一下子:
result = " ".join(list(reversed(([ w[::-1] for w in line.split(" ")]))))
print(result)
=> “玛丽有一只小羊羔,它的羊毛像雪一样白。”