wp231957 发表于 2022-2-17 14:30:07

[你们要的育碧来了] 展示蛇形矩阵的四种姿态

本帖最后由 wp231957 于 2022-2-17 15:43 编辑

def foo(m:int,n:int,sx:int,sy:int)->None:
    #初始化数组 暂用列表代替
    a=[ for j in range(m)]
    dx=[-1,0,1,0]
    dy=   # dx,dy用于调整方向
    x=sx
    y=sy
    if x==m-1 and y==0:#左下角
      d=0
    if x==0 :         #左上角或者右上角
      d=1   
    if x>0 and y>0:   #右下角
      d=3   
    for q in range(1,m*n+1):
      a=q
      ax=x+dx
      by=y+dy   #ax,by 记录要移动到的位置
      if ax<0 or ax>=m or by<0 or by>=n or a:#边界处理,满足任意一种条件 即越界,需要改变方向
            d=(d+1)%4    #顺时针改变方向
            ax=x+dx
            by=y+dy
      x=ax
      y=by   
    for x in range(m):
      for y in range(n):
            print("%4d"%a,end="")
      print()   

print("--------演示起始位置在左上角--------------")
foo(5,5,0,0)   
print("---------演示起始位置在左下角-------------")
foo(5,4,4,0)   
print("---------演示起始位置在右上角-------------")
foo(4,7,0,6)   
print("---------演示起始位置在右下角-------------")
foo(8,5,7,0)      #这里错了,猜猜看 应该如何改

阿萨德按时 发表于 2022-2-17 14:52:11

{:10_256:}

小薛王 发表于 2022-2-17 15:38:07

快到碗里来

涟漪袅袅 发表于 2022-2-17 15:38:27

666

hornwong 发表于 2022-2-17 15:48:42

{:5_95:}

李伦奥 发表于 2022-2-17 17:20:16

大神

lizhongtang 发表于 2022-2-17 19:33:32

学习了~~

1molHF 发表于 2022-2-18 08:23:23

666

elven08 发表于 2022-2-18 08:40:20

好高级的样子{:5_108:}

guoluren 发表于 2022-2-18 08:58:48

{:10_254:}666

咒蓝法师 发表于 2022-2-18 09:01:07

{:5_108:}

tomok 发表于 2022-2-18 16:04:27

{:5_108:}

fxj2002 发表于 2022-2-18 19:10:07

{:5_109:}

琳--凌 发表于 2022-2-19 14:08:55

8574

学不会绝不改名 发表于 2022-2-19 18:36:27

{:5_108:}
页: [1]
查看完整版本: [你们要的育碧来了] 展示蛇形矩阵的四种姿态