hmm*_*bob 1 python loops chess
当从 (0,0) 开始时,我的任务是计算骑士可以采取的所有潜在位置。我是初学者,所以我的代码很笨拙,但它似乎适用于较小的迭代集。一旦我深入 8-9 步,我就会耗尽内存。
def moves(pos):
re=[[]]
for i in range(0,len(pos)):
x,y=pos[i]
a=[x+2,y+1]
b=[x+2,y-1]
c=[x-2,y+1]
d=[x-2,y-1]
e=[x+1,y+2]
f=[x+1,y-2]
g=[x-1,y+2]
h=[x-1,y-2]
re.append(a)
re.append(b)
re.append(c)
re.append(d)
re.append(e)
re.append(f)
re.append(g)
re.append(h)
del re[0]
return re
def clean(a):
cmoves=[]
for i in range(0,len(a)):
if a[i][0]>-1 and a[i][1]>-1 and a[i][0]<9 and a[i][1]<9 :
cmoves.append(a[i])
return cmoves
def comb(a):
return clean(moves(a))
pos= [[0,0]]
a=comb(res)
steps_count=10
for step in range(steps_count):
res=comb(res)
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助或提示,谢谢。
| 归档时间: |
|
| 查看次数: |
39 次 |
| 最近记录: |