[你们要的育碧来了] 展示蛇形矩阵的四种姿态
本帖最后由 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) #这里错了,猜猜看 应该如何改
{:10_256:} 快到碗里来
666 {:5_95:} 大神 学习了~~ 666 好高级的样子{:5_108:} {:10_254:}666 {:5_108:} {:5_108:} {:5_109:} 8574 {:5_108:}
页:
[1]