编写一个函数,实现字符串的循环右移K位。如字符串“123456”循环右移2位是“561234”。

编写一个函数,实现字符串的循环右移K位。如字符串“123456”循环右移2位是“561234”。


s = "123456"

def right_loop_move(s,k):
    length = len(s)
    s1 = s[length-k:]
    s2 = s[:length-k]
    return s1 + s2

print(right_loop_move(s,2))

结果:

img

如果觉得答案对你有帮助,请点击下采纳,谢谢~

>>> def right_move(s, k):
    n = len(s)
    if n < 2:
        return s
    k %= n
    return s[-k:] + s[:n-k]

>>> right_move('123456', 2)
'561234'
>>> right_move('123456', 5)
'234561'
>>> right_move('123456', 33)
'456123'

这是C的代码。
#include<stdio.h>
#include<string.h>
int main()
{
char s[10]="12345678",temp;
int i,k,len;
len=strlen(s);
puts(s);
for(i=1;i<=2;i++)
{
temp=s[len-1];
for(k=len-1; k>=0; k--)
s[k]=s[k-1];
s[0]=temp;
}
puts(s);
return 0;
}