Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 11, 2017 14:05:43

art1390
От: Moscow
Зарегистрирован: 2017-02-11
Сообщения: 7
Репутация: +  0  -
Профиль  

Прога на Python

Приветствую гуру форума,
Я новичок, Интересует как можно написать программу которая подсчитает количество кораблей на поле “морского боя”.

Отредактировано art1390 (Фев. 11, 2017 16:17:50)

Прикреплённый файлы:
attachment 1.jpeg (91,9 KБ)

Офлайн

#2 Фев. 12, 2017 01:19:39

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Прога на Python

это мягко говоря зависит от реализации … всего



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Фев. 12, 2017 12:10:31

art1390
От: Moscow
Зарегистрирован: 2017-02-11
Сообщения: 7
Репутация: +  0  -
Профиль  

Прога на Python

JOHN_16
это мягко говоря зависит от реализации … всего
Поподробнее…

Офлайн

#4 Фев. 12, 2017 12:29:21

aiscy
Зарегистрирован: 2015-06-17
Сообщения: 52
Репутация: +  9  -
Профиль   Отправить e-mail  

Прога на Python

art1390
Поподробнее…
Распишите подробно ваш вопрос, а то он звучит примерно так:

Приветствую гуру форума автомехаников,
Я новичок, дело в том, что периодически я слышу стук под капотом своего автомобиля.

Прикреплённый файлы:
картинка_автомобиля.jpeg (364 KБ)

Офлайн

#5 Фев. 12, 2017 21:28:52

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

Прога на Python

Создаешь переменную-счетчик а, которая будет считать кол-во кораблей, создаешь двумерный массив 10х10,заполняешь его 0/1 где 0-пустая клетка, 1-клетка, где расположена часть коробля, потом с начала по конец массива ищешь первую попавшуюся клетку со значением 1. Пересматриваешь все оружщие ее клетки(кроме диагональных),когда находится еденица, переходишь на нее, присваивая старой значение нуля, и так до тех пор пока корабль не законится; а+=1. Начинаешь алгоритм заново.

По моему скромному мнению в программе будет не более 2-3 циклов

Можно еще регулркой воспользваться, но если знаешь, конечно, как.

ps
все это лишь идея создания кода, скорее всего есть путь написать его проще

Отредактировано recidivist (Фев. 12, 2017 21:35:17)

Офлайн

#6 Фев. 12, 2017 22:19:51

art1390
От: Moscow
Зарегистрирован: 2017-02-11
Сообщения: 7
Репутация: +  0  -
Профиль  

Прога на Python

recidivist
Создаешь переменную-счетчик а, которая будет считать кол-во кораблей, создаешь двумерный массив 10х10,заполняешь его 0/1 где 0-пустая клетка, 1-клетка, где расположена часть коробля, потом с начала по конец массива ищешь первую попавшуюся клетку со значением 1. Пересматриваешь все оружщие ее клетки(кроме диагональных),когда находится еденица, переходишь на нее, присваивая старой значение нуля, и так до тех пор пока корабль не законится; а+=1. Начинаешь алгоритм заново.По моему скромному мнению в программе будет не более 2-3 цикловМожно еще регулркой воспользваться, но если знаешь, конечно, как.psвсе это лишь идея создания кода, скорее всего есть путь написать его проще

А образец написания можно на форуме найти?

Офлайн

#7 Фев. 12, 2017 22:34:10

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

Прога на Python

Ну если тебе не лень, то наверно можно. Код в принципе легкий

Прикреплённый файлы:
attachment image.jpg (64,4 KБ)

Офлайн

#8 Фев. 12, 2017 22:35:29

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

Прога на Python

А корабли на поле обязательно все нужно разместить?
Если да, то просто

 print(10)
в противном случе можно просто считать кол-во вхождений(работет, если корабли ставят вручную, или изначльно указывают сколько их можно поставить)

Отредактировано recidivist (Фев. 12, 2017 22:44:11)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version