|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
heng = int(input('请输入行数:'))
zong = int(input('请输入列数:'))
he = heng * zong
b = [[0 for k in range(zong)]for k in range(heng)]
quan = 1
if heng > zong:
xy = (zong-1)//2+1
else:
xy = (heng - 1) // 2 + 1
for cc in range(xy):
for i in range(quan-1, zong - quan + 1):
if b[quan - 1][i - 1] + 1 > he:
break
else:
b[quan - 1][i] = b[quan - 1][i - 1] + 1
for i in range(quan, heng - (quan - 1)):
if b[i - 1][zong - quan] + 1 > he:
break
else:
b[i][zong - quan] = b[i - 1][zong - quan] + 1
for i in range(zong - quan - 1, quan - 1 - 1, -1):
if b[heng - quan][i + 1] + 1 > he:
break
else:
b[heng - quan][i] = b[heng - quan][i + 1] + 1
for i in range(heng - quan - 1, quan - 1, -1):#5-1
if b[i + 1][quan - 1] + 1 > he:
break
else:
b[i][quan - 1] = b[i + 1][quan - 1] + 1
quan += 1
# for i in range(heng):
# for ii in range(zong):
# b[i][ii] = he + 1 - b[i][ii]
kk = 0
for k in b:
for kkk in k:
print(kkk, end='\t')
kk += 1
if kk == zong:
print()
kk = 0
这是自己写的螺选填数,要求再写一个由内向外的螺旋填数,必须从1开始螺旋,方向随意
目前只学到了循环 列表
摸不清思路 是否需要先找1的起始坐标 找了好久找不到规律
假设找到1的坐标怎么判断方向 或者固定一个方向螺旋 |
|