编写一个函数,实现字符串的循环右移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))
结果:
如果觉得答案对你有帮助,请点击下采纳,谢谢~
>>> 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;
}