一个字符串,对其每3个字符进行一次翻转,如下:
字符串:abcdefghi ==> 翻转后:cbafedihg
如果最后待翻转的不足3个字符,也同样进行翻转,如下:
字符串:abcdefgh ==> 翻转后:cbafedhg
a = input()#或者直接是a = "abcdefghi"也行
b = ""
for i in range(0,len(a),3):
if i+2 < len(a):
b += a[i+2]
if i+1 < len(a):
b += a[i+1]
b += a[i]
print(b)
每三个字符翻转一次,也就是abc变成cba,可以发现中间那个字符是不需要变动的。
最后待翻转的不足3个字符时,有两种情况:
1、一个字符,不用处理。
2、两个字符,互换位置。
def f(s):
x, length = '', len(s)
for i in range(2, length, 3):
x += s[i] + s[i-1] + s[i-2]
if length % 3 == 2:
x += s[length - 1] + s[length - 2]
return x
def run():
number = 3 # 翻转字符个数
a = "abcdefghi"
b = ""
for i in range(0, len(a), number):
b += a[i: i + number][::-1]
print(b)