目前位置: 首页 » python算法300例 »正文

python算法例10:数列后移

题目:

有n个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数

比如:

有5个数,1,2,3,4,5,使期前面的数向后移2个位置,结果为4,5,1,2,3

思路分享:

用pop()以及insert()函数来实现,是非常的简便的。

pop()默认是弹出列表中的最后一项,并返回该值

insert()是往列表中的指定的索引位置插入一个元素。

程序源码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<pre>#python 3.x
n=int(input('有n个整数!请输入n的值:'))
nums=[]
while n:
    nums.append(int(input('输入整数')))
    n-=1

print('初始数列为:',nums)
m=int(input('往后移m个位置!请输入m的值:\n'))
while m:
    nums.insert(0,nums.pop())
    m-=1

print('移动后的数列:',nums)

</pre>

输出结果为:

================= RESTART: C:/Programs/Python/Python38-32/1.py =================
有n个整数!请输入n的值:5
输入整数5
输入整数4
输入整数3
输入整数2
输入整数1
初始数列为: [5, 4, 3, 2, 1]
往后移m个位置!请输入m的值:
2
移动后的数列: [2, 1, 5, 4, 3]
>>>

推荐阅读