Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непонятное явление в матрице, подробно в теме 
:(
    Опции темы
cannibale
Дата 3.5.2010, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.10.2008

Репутация: нет
Всего: нет



при выполнении данного кода 
Код

# -*- 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]], dtype = str)

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]]


почему ловятся Нули во второй строке результата, а ещё и в таком количестве?
ведь в условии явно задано что оно должно срабатывать только при условии ненулевого значения в ячейке матрицы

PM MAIL   Вверх
Daevaorn
Дата 3.5.2010, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Цитата(cannibale @  3.5.2010,  21:29 Найти цитируемый пост)
dtype = str

А зачем вы преобразуете данные в строки?

0 != '0'
PM MAIL WWW   Вверх
cannibale
Дата 4.5.2010, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.10.2008

Репутация: нет
Всего: нет



тем не менее ничего не меняется.
хоть str, хоть int, хоть без
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0570 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.