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

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

Если по указанным координатам корабля нет (вода в матрице обозначается точкой «.»), верните «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'

Марина

Recent Posts

10 удалённых Python-вакансий

Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…

6 месяцев ago

Где искать Python-вакансии в 2026 году: зачем на Talanto.work появился отдельный сценарий поиска

Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…

6 месяцев ago

Срезы в Python со всеми подробностями

Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…

8 месяцев ago

Возведение в степень в Python: полное руководство

В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…

9 месяцев ago

Как удалить дубликаты из списка Python?

Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…

9 месяцев ago

Виртуальный (shared) хостинг от SpaceWeb: технический обзор

Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…

11 месяцев ago