我在python 一個小白嘛我看着從numberphile(https://youtu.be/1MtEUErz7Gg) 的視頻,這是關於沙堆(加入他們),所以我決定寫我自己的Python程序中添加2個沙堆。 但由於某種原因,這是行不通的 該計劃使我錯誤的總和如2 + 2 = 7類型錯誤計算沙堆的總和
它應該給我:
[2,2,0],[ 2,1,0],[0,1,3]] + [[2,1,0],[1,0,1],[3,1,0]] = [[2,1,0 ],[0,3,3],[1,2,3]]
而是給出:
[ [2,2,0],[2,1,1],[0,1,3]] + [[2,1,0],[1,0,1],[3,1,0]] = [[1,3,3],[0,1,2],[2,2,3]]
這是我的代碼
X = [ [2, 2, 0], [2, 1, 1], [0, 1, 3] ]
Y = [ [2, 1, 0], [1, 0, 1], [3, 1, 0] ]
xy = [ [0, 0, 0], [0, 0, 0], [0, 0, 0] ]
i = j = 0
while (i < 3):
while(j < 3):
xy[i][j] = X[i][j] + Y[i][j]
j = j + 1
i = i + 1
j = 0
def get_above(pile):
found = False
while not found:
i, j = 0,0
while (i < 3):
while (j < 3):
if(pile[i][j] > 3):
return i, j
j = j + 1
i = i + 1
j = 0
found = True
return True
def tupple_pile():
while get_above(xy):
i, j = get_above(xy)
neg = [ [i, j+1], [i+1, j], [i, j-1], [i-1,j] ]
neg = [n for n in neg if n[0] in [0, 1, 2] and n [1] in [0, 1, 2]]
k = 0
while k < len(neg):
p = neg[k][0]
q = neg[k][1]
xy[p][q] = xy[p][q] + 1
k = k + 1
xy[i][j] = xy[i][j] - 4
return xy
tupple_pile()
你是什麼意思它不工作?你是如何試圖解決它的? :) – Moberg
更具體的什麼不工作。說明預期的結果,實際結果以及任何回溯作爲錯誤。請參見[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 –
請首先說明您要解決的問題。我們不知道你的意思是*添加sandpiles。給出一個問題陳述。 –