Below is my code
n = 4
m = 4
figures = [1,2,2]
def almostTetris(n, m, figures):
grid = [[0] * m] * n
def shape1(count):
for i in range(n):
for j in range(m):
if grid[i][j] == 0:
print(grid[i][j])
print(grid[1][0])
print(grid[2][0])
print(grid[3][0])
grid[i][j] = count
print(grid[i][j])
print(grid[1][0])
print(grid[2][0])
print(grid[3][0])
return
def shape2(count):
for i in range(n):
for j in range(m - 2):
if grid[i][j] == 0 and grid[i][j + 1] == 0 and grid[i][j + 2] == 0:
grid[i][j] = grid[i][j + 1] = grid[i][j + 2] = count
return
for i in range(len(figures)):
if figures[i] == 1:
shape1(i + 1)
elif figures[i] == 2:
shape2(i + 1)
return grid
print(almostTetris(n, m, figures))
and this is what I got printed out:
0
0
0
0
1
1
1
1
[[1, 2, 2, 2], [1, 2, 2, 2], [1, 2, 2, 2], [1, 2, 2, 2]]
My question is how does grid[i][j] = count
convert all numbers in the first column to 1 (the value of count)?
I thought that because i
and j
are all 0, only the first element would change to 1.