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])
希望这会有所帮助。
我需要用户输入一些文字,稍后这些文字应该被反转。 但是在反转的时候,每一步都需要打印,真不知道是怎么回事,怎么反转。
如果用户输入 - 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])
希望这会有所帮助。