📌  相关文章
📜  检查任何字符串的左移和右移结果是否为给定的字符串(1)

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

检查字符串左移和右移结果的程序介绍

程序目标

本程序实现的目标是检查任何字符串进行左移和右移后的结果是否为给定的字符串。

程序实现

程序的主要实现思路是利用Python中的字符串切片功能。对于字符串s,我们可以使用s[:n]来获取s的前n个字符,使用s[n:]来获取s从第n个字符开始的所有字符。具体实现过程如下:

  1. 定义函数check_string(s, m, n),入参为:待检查的字符串s,左移的位数m,右移的位数n;
  2. 分别获取左移后的字符串s1和右移后的字符串s2,其中s1=s[m:]+s[:m],s2=s[-n:]+s[:-n];
  3. 返回s1和s2是否等于s,若是则为True,否则为False。

完整代码如下:

def check_string(s, m, n):
    # 左移m位
    s1 = s[m:] + s[:m]
    # 右移n位
    s2 = s[-n:] + s[:-n]
    # 判断是否等于原字符串
    if s1 == s and s2 == s:
        return True
    else:
        return False
使用示例

下面给出几个使用示例:

s = 'abcdefg'
m = 2
n = 3
print(check_string(s, m, n))  # False

s = 'abcdefg'
m = 2
n = 5
print(check_string(s, m, n))  # True

s = 'abcdefg'
m = 7
n = 7
print(check_string(s, m, n))  # True
结语

本程序实现简单,使用方便。仅供参考!