Уведомления

Группа в Telegram: @pythonsu

#1 Март 23, 2017 09:26:38

mick_g
Зарегистрирован: 2017-02-13
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Крестики нолики 3x3 с Numpy

Добрый день,
Есть задача:
Дан массив numpy 3x3, который представляет собой поле для игры в крестики-нолики. Массив целочисленный. Незаполненные поля обозначены 0, крестики – 1, нолики – 2.
Вам предстоит сделать такой ход за нолики, чтобы не дать противнику выиграть на следующем ходу.
Пример:
array([,
,
])
Правильный вывод:
[

]
Пробую сделать так (lst - исходный массив)
import numpy as np, sys
def step (arr):
if 0 in arr and 2 not in arr and sum(arr) == 2:
arr = 2
return arr

for i in range (3):
step(lst)
step(lst)
step(lst.diagonal())
print (lst)

Получаю ошибку при вызове процедуры для диагонали:
ValueError: assignment destination is read-only.
Для строк и столбцов работает.
Как решить эту проблему?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version