开发者社区> 问答> 正文

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

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

展开
收起
珍宝珠 2019-11-19 17:16:27 4117 0
2 条回答
写回答
取消 提交回答
  • def move_backward(m):
        a = [2, 8, 6, 1, 78, 45, 34, 2]
        for i in range(len(a) - m):
            a.append(a[0])
            a.pop(0)
        return a
    
    
    if __name__ == '__main__':
        print(move_backward(5))
    
    2020-02-11 18:53:03
    赞同 展开评论 打赏
  • #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    if __name__ == '__main__':
        n = int(raw_input('整数 n 为:\n'))
        m = int(raw_input('向后移 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('输入一个数字:\n')))
        print '原始列表:',number
    
        move(number,n,m)
    
        print '移动之后:',number
    
    

    以上实例输出结果为:

    整数 n 为:
    8
    向后移 m 个位置为:
    5
    输入一个数字:
    2
    输入一个数字:
    8
    输入一个数字:
    6
    输入一个数字:
    1
    输入一个数字:
    78
    输入一个数字:
    45
    输入一个数字:
    34
    输入一个数字:
    2
    原始列表: [2, 8, 6, 1, 78, 45, 34, 2]
    移动之后: [1, 78, 45, 34, 2, 2, 8, 6]
    
    2019-11-19 17:16:45
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载