Python编程题6--字符串每隔3个字符翻转

2020-09-27  本文已影响0人  wintests

题目

针对一个只含数字的字符串,对其每3个数字进行一次翻转,如下:

字符串:123456789 ==> 翻转后:321654987

如果最后待翻转的不足3个字符,也同样进行翻转,如下:

字符串:12345678 ==> 翻转后:32165487

实现思路1

代码实现

def demo(s):
    new_str = ""
    for i in range(len(s)):
        if (i + 1) % 3 == 0:
            new_str += s[i-2:i+1][::-1]
    if len(s) != len(new_str):
        new_str += s[len(new_str):][::-1]
    return new_str

old_str = "12345678"
print(demo(old_str))

实现思路2

代码实现

def demo(s):
    temp = []
    for i in range(0, len(s), 3):
        temp.append(s[i:i+3])
    return "".join([i[::-1] for i in temp])

old_str = "12345678"
print(demo(old_str))

两行代码实现

old_str = "12345678"
print("".join([old_str[i:i+3][::-1] for i in range(0, len(old_str), 3)]))

更多Python编程题,等你来挑战:Python编程题汇总(持续更新中……)

上一篇 下一篇

猜你喜欢

热点阅读