zoukankan      html  css  js  c++  java
  • Python爱的魔力转圈圈

    题目说明

    根据给定数值,打印出一组由外向里由小到大排列的数字图像;

    例如:
    01 16 15 14 13
    02 17 24 23 12
    03 18 25 22 11
    04 19 20 21 10
    05 06 07 08 09

    Size = 7
    array = [[0] * Size]
    
    # for循环创建一个空的二维Size×Size大小的数组
    for i in range(Size -1):
        array += [[0] * Size]
    # print(array)
    
    # 控制循环打印在二维数组中的位置的前进方向
    # 定义数组内的对应位置的数值大小
    j,k = 0,0
    orient = 0
    for i in range(1,Size*Size+1):
        array[j][k] = i
    
        # 定义何时转向
        if j+k == Size-1:
            if j > k:
                orient =1
            else:
                orient =3
        elif k ==j and j >= Size/2:
            orient =2
        elif k==j+1 and k <= Size/2:
            orient = 0
        # 根据定义改变打印路线
        if orient ==0:      # 向下
            j += 1
        elif orient ==1:    # 向右
            k += 1
        elif orient ==2:    # 向上
            j -= 1
        elif orient ==3:    # 向左
            k -= 1
    
    # 循环打印数值
    for ele in array:
        for e in ele:
            if Size >9:
                print('%03d'%e, end=" ")   # print(打印对象,end=" ") end=" " 结尾打印空格,默认情况会自动换行
            else:
                print('%02d' % e, end=" ")
        print(" ")                     # 打印一个空格让程序打印结果换行
    
    
  • 相关阅读:
    第一天站立会议
    Sprint会议计划
    软件需求分析
    团队介绍
    再写行转列和列转行
    二十三种设计模式之:组合(Composite)模式(部分·整体模式)
    对于类和对象的认识
    对排序的认识
    设计模式分类
    二十三种设计模式之:适配器模式
  • 原文地址:https://www.cnblogs.com/luomit/p/13927142.html
Copyright © 2011-2022 走看看