# -*- coding: cp1251 -*-
import numpy as np
matrix1 = np.array([[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, 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, 0, 0],
[0, 0, 0, 1, 1, 1, 0, 0]])
for x in range(7, 0, -1):
for y in range(7, 0, -1):
if matrix1[x][y] != 0:
if matrix1[x][y] == matrix1[x][y-1]== matrix1[x][y-2]:# проверка на 3 совпадения по y
print "CATCH 3y!!!!", matrix1[x][y],matrix1[x][y-1],matrix1[x][y-2]
matrix1[x][y],matrix1[x][y-1],matrix1[x][y-2] = 0, 0, 0
score += 1
if matrix1[x][y] == matrix1[x][y-1]== matrix1[x][y-2] == matrix1[x][y-3]:# проверка на 4 совпадения по y
print "CATCH 4y!!!!",matrix1[x][y],matrix1[x][y-1],matrix1[x][y-2], matrix1[x][y-3]
matrix1[x][y],matrix1[x][y-1],matrix1[x][y-2],matrix1[x][y-2] = 0, 0, 0, 0
score += 2
print "score = ",score
print matrix1
CATCH 3y!!!! 1 1 1
CATCH 4y!!!! 0 0 0 0
score = 3
score = 3
score = 3
score = 3
score = 3
score = 3
score = 3
[[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 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 0 0]
[0 0 0 0 0 0 0 0]]
ведь в условии явно задано что оно должно срабатывать только при условии ненулевого значения в ячейке матрицы
а при замене трёх единиц нулями, откуда берётся неправильный 4й?
и где бы почитать про библиотеку NumPy на русском