很抱歉,如果这段代码不好,我对编码还很陌生。
所以我希望代码在第3行第4列打印出值,而不是在第2和3行打印出。
import numpy as np
w = 8
l = 5
s = 2
board = np.arange(w*l)
board = board.reshape(l,w)
start = board[s,0]
currentpoint = start
print(board)
print()
def block_a(currentpoint):
currentpoint = np.argwhere(board == currentpoint) + [0, 3]
return currentpoint
currentpoint = np.hstack(block_a(currentpoint))
print(currentpoint)
print(board[currentpoint])
Expected : 19
Actual :
[[16 17 18 19 20 21 22 23]
[24 25 26 27 28 29 30 31]]
答案 0 :(得分:0)
当前 currentpoint 是一个由两个元素组成的数组[2,3]。当您使用此数组为木板索引时,这等效于使用 board [[2,3]] 。它将返回一个数组“行” 2和3。
print(board[currentpoint])
print("... and ...")
print(board[[2,3]]
[[16 17 18 19 20 21 22 23]
[24 25 26 27 28 29 30 31]]
... and ...
[[16 17 18 19 20 21 22 23]
[24 25 26 27 28 29 30 31]]
要访问 19 ,您需要索引您的木板,例如 board [x] [y] 或 board [x,y] ,直接询问木板的x项和x的y项。 为此,您可以使用以下代码直接将其转换为currentpoint [2,3]。
print(board[currentpoint[0], currentpoint[1]])
print("... and ...")
print(board[2,3])
19
... and ...
19