📅  最后修改于: 2023-12-03 15:11:16.577000             🧑  作者: Mango
本程序展示了如何通过 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 程序,希望对您有所帮助。