打印螺旋矩阵(python)实现

本文介绍如何使用Python编程实现螺旋矩阵的打印。通过示例展示具体操作,展示运行结果。
摘要由CSDN通过智能技术生成

螺旋阵:任意给定n的值,an如下螺旋方式输出方阵

'''
n = 3  输出:1 8 7
             2 9 6
             3 4 5

n = 4  输出:1  12  11  10
             2  13  16  9
             3  14  15  8
             4  5    6  7

算法设计1:
    此例按照摆放数据的过程,逐圈分别处理每圈的左,下,右,上方的数据。以能n=4为例:
    把1--12看做一层,13--16看做第二层....以层作为外层循环,下标白能量为i,n=3,4均为2层,用n//2表示下取整,这样(n+1)//2恰好表示对n//2上取整。所以下标变量i的范围1--(n+1)/2
    i层内摆放的数据4个过程为(四个角的元素归为4个边)
    1、i列(左侧),从i到n-i行,  (n=4,i=1时,摆放1,2,3)
    2、n+1-i行(下方),从i列到n-i列  (n=4,i=1时,摆放4,5,6)
    3、n+1-i列(右侧),从n+1-i行到i+1行  (n=4,i=1时,摆放7,8,9)
    4、i行(上方),从n+1-i列到i+1列   (n=4,i=1时,摆放10,11,12)
    用j表示i层中每边中行或列的下标
'''

def main1():
    a = []
    for i in range(0, 100):  # 构造一个二维数组
        b = []
        for j in range(0, 100):
            b.append(0)
        a.append(b)

    n = int(input("请输入n的值:"))
    k = 1
    for i in range(1,n//2+1):
        for j in range(i,n-i+1):  #左侧
            a[j][i] = k
            k += 1
        for j in range(i,n-i+1):  #下方</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值