📌  相关文章
📜  用于字符串左旋转和右旋转的 Python3 程序(1)

📅  最后修改于: 2023-12-03 15:11:16.577000             🧑  作者: Mango

用于字符串左旋转和右旋转的 Python3 程序

本程序展示了如何通过 Python 实现字符串的左旋转和右旋转功能。左旋转和右旋转可以很方便地处理字符串相关问题,如字符串循环移位和密码学中的一些操作。

左旋转函数

字符串的左旋转可以通过字符串切片来实现。只需将需要旋转的字符串切片放到切片的后面即可。

def left_rotate_string(s: str, n: int) -> str:
    """
    字符串左旋转,将字符串的前n个字符移动到字符串的末尾
    :param s: 需要旋转的字符串
    :param n: 旋转的字符数目
    :return: 旋转后的字符串
    """
    if not s or n >= len(s):
        return s
    return s[n:] + s[:n]

使用示例:

s = 'abcdefg'
n = 3
result = left_rotate_string(s, n)
print(result)  # 输出 defgabc
右旋转函数

字符串的右旋转同样也可以通过字符串切片来实现。只需将需要旋转的字符串切片放到切片的前面即可。

def right_rotate_string(s: str, n: int) -> str:
    """
    字符串右旋转,将字符串的末尾n个字符移动到字符串的前面
    :param s: 需要旋转的字符串
    :param n: 旋转的字符数目
    :return: 旋转后的字符串
    """
    if not s or n >= len(s):
        return s
    return s[-n:] + s[:-n]

使用示例:

s = 'abcdefg'
n = 3
result = right_rotate_string(s, n)
print(result)  # 输出 efgabcd

注意:代码中进行了简单的参数检查,防止出现空字符串或旋转字符数目大于字符串长度的情况。

以上便是本文介绍的用于字符串左旋转和右旋转的 Python3 程序,希望对您有所帮助。