Python 100例-68


实例68

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

程序分析: 无。

程序源代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

if __name__ == '__main__':
    n = int(raw_input('the total number is:\n'))
    m = int(raw_input('back m:\n'))

    def move(array,n,m):
        array_end = array[n - 1]
        for i in range(n - 1,-1,- 1):
            array[i] = array[i - 1]
        array[0] = array_end
        m -= 1
        if m > 0:move(array,n,m)

    number = []
    for i in range(n):
        number.append(int(raw_input('input a number:\n')))
    print 'orignal number:',number

    move(number,n,m)

    print 'after moved:',number

以上实例输出结果为:

the total number is:
8
back m:
5
input a number:
2
input a number:
8
input a number:
6
input a number:
1
input a number:
78
input a number:
45
input a number:
34
input a number:
2
orignal number: [2, 8, 6, 1, 78, 45, 34, 2]
after moved: [1, 78, 45, 34, 2, 2, 8, 6]