描述
在两行中分别输入一个字符串s和整数n,定义一个函数将字符串s循环向右移动n位,n为负数时左移。
若s为空串’‘,则不论n为多少,均输出’‘
如 s=‘123456’ n=3
输出结果:456123
方法一:
'''
若n为正,即向右移n位,字符串末尾n位便移到最前面(看成一个整体),
整体第一个字符的下标为len(s)-n
若n为负,n1=abs(n),即向左移n1位,字符串开头n1位便移到最后面,
则末尾len(s)-n1位便移到最前面(看成一个整体),
整体第一个字符的下标为len(s)-(len(s)-n1)=n1=abs(n)
'''
def f(s,n):
if s=='':
return s
else:
if n>=0:
t=(len(s)-n)%len(s)
else:
t=abs(n)%len(s)
p=s[t:]+s[:t]
return p
s=input()
n=int(input())
print(f(s,n))
*方法二:*用另一个列表来存储
ls=[]
s=list(input())
le=len(s)
n=int(input())
for i in range(0,le):
j=(i+n)%le
ls.insert(j,s[i])#insert方法
print(''.join(ls))