请用python输入两个整数n和m,再输入n个整数构成一个数列,把前m个数循环移位到数列的右边。 输入格式: 测试数据有多组,处理到文件尾。每组测试数据第一行输入2个正整数n、m(1<=m,n<100),第二行输入n个整数。 输出格式: 对于每组测试数据, 在一行上输出把前m个数循环移位到数列的右边后的数列,每两个数据之间留一个空格。 输入样例: 5 3 1 2 3 4 5 输出样例: 4 5 1 2 3
时间: 2024-02-28 16:56:05 浏览: 129
python 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数(示例)
可以使用Python的列表切片功能来实现循环移位操作,具体实现代码如下:
```python
while True:
try:
n, m = map(int, input().split())
a = list(map(int, input().split()))
b = a[m % n:] + a[:m % n]
print(' '.join(map(str, b)))
except:
break
```
在上面的代码中,我们使用了两个列表a和b,其中a存储输入的n个整数,b用于存储循环移位操作后的结果。通过切片操作`a[m % n:] + a[:m % n]`,我们可以将a列表中前m个数移动到了列表的右边。最后,我们使用`' '.join(map(str, b))`将列表b中的元素转换为字符串,并以空格作为分隔符输出。需要注意的是,当m大于n时,我们只需要考虑m对n的余数即可。
阅读全文