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(" ")                     # 打印一个空格让程序打印结果换行
    
    
  • 相关阅读:
    一本通1590恨 7 不成妻
    一本通1591数字计数
    一本通1589不要 62
    一本通1588数字游戏
    一本通1587【例 3】Windy 数
    一本通1586【 例 2】数字游戏
    一本通1585【例 1】Amount of Degrees
    一本通1584骑士
    一本通1583叶子的染色
    一本通1581旅游规划
  • 原文地址:https://www.cnblogs.com/luomit/p/13927142.html
Copyright © 2011-2022 走看看