我想寫一個函數,它需要一個網格中的數字或者行和列,模擬從網格中心開始的隨機遊走,並且計算每個交叉點的次數由隨機遊走訪問。然後,一旦隨機遊走到網格外,就會一行一行地打印表格 到目前爲止,我有這個,但是我無法讓它正常工作。曼哈頓網格方向隨機遊走
def manhattan(x,y):
'int,int==>nonetype'
import random
res=[]
for i in range(x):
res.append([])
for i in res:
for j in range(y):
i.append(0)
position=(x//2+1,y//2+1)
z=position[0]
v=position[1]
while z!=-1 or z!=x or v!=-1 or v!=y:
direction=random.randrange(1,5)
if direction==1:
v+=1
elif direction==2:
z+=1
elif direction==3:
v-=1
else:
z-=1
for i in range(len(res)):
if i ==z:
res[i]+=1
for j in range(i):
if v==j:
i[j]+=1
for i in res:
print(i)
完成後它應該閱讀:
manhattan(5,11)
[0,0,0,0,0,0,0,0,0,0,0]
[0,0,0,0,0,0,0,0,0,0,0]
[0,0,0,0,0,1,1,1,1,2,2]
[0,0,0,0,0,0,0,0,0,0,0]
[0,0,0,0,0,0,0,0,0,0,0]
什麼是不工作?或者這是作業嗎? – Schorsch