Python - 字符串反转,每次更改后打印

Python - String Reverse, Print After Every Change

我需要用户输入一些文字,稍后这些文字应该被反转。 但是在反转的时候,每一步都需要打印,真不知道是怎么回事,怎么反转。

如果用户输入 - stack,最后我需要得到 kcats,但在我还需要打印所有步骤之前,例如如果它从第一个和最后一个字母开始,第一步应该就像 - ktacs 并继续这样。

我有一些代码:

input_string = input("\n Please Enter Text To Reverse - ")
for i in input_string:
    print(input_string[::-1])

倒过来了,但是一步步打印不出来。有什么帮助吗?

这应该可以正常工作:

txt = "hello world"
l = len(txt)
for n in range(1, l//2+1):
    print txt[-n:][::-1] + txt[n:-n] + txt[:n][::-1] # reversed end + middle + reversed start

你也可以使用这个(但我觉得它不太可读):

print txt[l-1:-n-1:-1] + txt[n:-n] + txt[n-1:None:-1]

如果你想打印每一步,那么你可以使用递归方法:

递归之美:

string_='stack'

def recursion_reverse(string_1):
    if not string_1:
        return ""
    else:
        front_part=recursion_reverse(string_1[1:])
        back_part=string_1[0]
        print(front_part+back_part + string_[:-len(string_1)])


    return front_part+back_part[0]

print(recursion_reverse(string_))

输出:

kstac
kcsta
kcast
kcats
kcats
kcats

你可以试试这个。

   input_string = input("\n Please Enter Text To Reverse - ")
   i_string = input_string.split(" ")
   length = len(i_string)

   for i in range(len(i_string)-1,-1,-1):
      print(i_string[i])
   print(i_string[::-1])

希望这会有所帮助。