Морской бой

Помните игру «Морской бой»? Корабли плавают по матрице. Вы по ним стреляете, называя координаты.

Создайте функцию, которая будет принимать список списков (матрицу) и координаты в виде строки.

Если по указанным координатам корабля нет (вода в матрице обозначается точкой «.»), верните «splash».

Если выстрел попадает в корабль (в матрице корабли обозначаются звездочками «*»), верните «BOOM».

Примечания:

  • передаваемая матрица — всегда квадрат
  • матрица не будет больше, чем 5 * 5 ( A1 * E5).

Примеры

[
  [".", ".", ".", "*", "*"],
  [".", "*", ".", ".", "."],
  [".", "*", ".", ".", "."],
  [".", "*", ".", ".", "."],
  [".", ".", "*", "*", "."],
]

fire(matrix, "A1") ➞ "splash"

fire(matrix, "A4") ➞ "BOOM"

fire(matrix, "D2") ➞ "BOOM"

Решение

def fire(matrix, coordinates):
    x, y = coordinates
    return 'BOOM' if matrix[ord(x) - 65][int(y) - 1] == '*' else 'splash'

python books logo

Марк Лутц «Изучаем Python»

Скачивайте книгу у нас в телеграм

×