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

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

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

Как проверить существование файла с помощью Python

В Python проверка существования файла перед попыткой его использования является обычной задачей, особенно если вы…

15 часов ago

Абсолютное значение числа в Python

При анализе данных часто требуется быстро найти абсолютное значение набора чисел. Для выполнения этой задачи…

1 неделя ago

Библиотека Pydantic: валидация данных на Python

Pydantic - это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения…

2 недели ago

7 наилучших библиотек визуализации Python на 2024 год

Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…

3 недели ago

Как преобразовать строку в байты в Python

В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…

4 недели ago

Что такое Werkzeug?

В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…

1 месяц ago