Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Поднимайтесь как можно выше по дереву, собирайте цветы и дарите их близким.
Вас ждут уникальные награды и 22 выгодных промокода!

Пикаджамп

Аркады, Казуальные, На ловкость

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Codewars

6 постов сначала свежее
13
Hakain
Hakain
2 года назад
Лига программистов

Решаем задачу из Codewars⁠⁠

Задача называется Pipe and tap chaining operators

[моё] Codewars Программирование Scala Linux Задача Видео YouTube
1
6
Hakain
Hakain
4 года назад
Лига программистов

Решение задачки Directions Reduction (5 kyu) из Codewars⁠⁠

С подробным объяснением решения

Codewars Scala Программирование Спортивное программирование Видео
5
Hakain
Hakain
4 года назад
Лига программистов

Решаем задачи по программированию на Codewars⁠⁠

На языке Scala

Scala Codewars Программирование Видео
1
35
DELETED
5 лет назад
IT-юмор

Машинный перевод как способ скоротать вечер⁠⁠

Вступление


Всем бобра. В промежутках между своими увольнениями работаю разработчиком. Сейчас пребываю в поисках следующего промежутка, а свободное время заполняю решением тестовых задачек на алгоритмизацию с Codewars - специального сервиса для таких вот скучающих IT-безработных.


Одна из таких задачек - разработать алгоритм пути улитки, возвращающейся домой. Проще, конечно, показать:

Машинный перевод как способ скоротать вечер Юмор, IT, Длиннопост, Codewars, Скриншот, IT юмор, Google Translate

Думаю, идея понятна. Мы начинаем путь с левого верхнего угла, пока не окажемся в конечной точке в районе середины. Мы должны пройти весь этот путь (просчитать), последовательно сохранить все пройденные шаги и вернуть их в ответ программе, которая проверит корректность результата. Пример такого ответа для левой картинки: 1, 2, 3, 6, 9, 8, 7, 4, 5.


А пока мы в лице улитки гуляем по поле (нагуливаем результат работы), промежуточные данные о пройденных шагах нужно где-то хранить и накапливать. Для этого я использовал переменную - $distanceTravelled. В нее улитка будет бережно записывать все пройденные шаги, пока не доползет до кровати конца, а затем вернет ее содержимое проверяющий программе, чтобы получить заслуженный чупа-чупс (или по лбу, если приползла не туда или не тем маршрутом).


Стоит отметить, что выразительное имя для переменной (да и вообще для любого объекта в коде) - это залог успешного понимания работы кода и т.о. комфортного сопровождения со стороны других разработчиков. Пусть в нашем случае сей код кроме таких же странствующих бездельников никто не увидит (а уж тем более не будет пытаться дорабатывать), руку стараюсь не сбивать, ибо к переменным вроде i, r, c привыкаешь очень быстро и легко, а отвыкаешь долго и страдальчески. В этот раз я решил, что имя переменной мой утонченный вкус решительно не устраивает и с этим надо что-то делать.


В качестве отступления могу сказать, что не сильно большой я англичанин и нередко компенсировать это вынужден в Google Translate. Многие типичные для отрасли выражения и слова оседают быстро, но как минимум не мешает получить подтверждение со стороны. Так вот альянс моего дефицита языка и болванистого машиноперевода порой знатно доставляют.



Планирование


Собственно, $distanceTravelled - пройденное расстояние, путь. Вроде бы все хорошо, но два момента меня смущали:

distance - слишком неопределенно. Что есть distance? метры, километры, световые годы? безобразие

travelled - пройденное расстояние, но обычно используется в том же контексте, что у нас - путешествие, т.е. больше с развлекательно-познавательными целями, нежели с деловыми


Ну ок, какие идеи? Посовещавшись с самим собой я решил, что было бы неплохо, ежели бы переменная читалась как $пройденныеКвадраты [улиткой]. Звучит информативнее размытых пропутешествованных дистанций, мм? На том и порешили. Теперь переходим к финальной части - переводу.



Реализация


Начнем с существительного - дистанции. Коли приговорили его к замене, не будем медлить. Поскольку в нашем случае речь идет о слегка абстрактном и заточенном под задачу расстоянии, логичнее будет дистанцию измерять в squares - квадратиках (а вся доска, по коей рассекает улитка - папа-квадрат площадь, square). С этим все ясно, топаем дальше.


Следующая жертва у нас - travelled. Тут уже неоднозначнее. Улитка у нас вряд ли ходит (walked), и вряд ли кто-то видел бегающих (ran) улиток (во всяком случае без запрещенных веществ). Улитка, пожалуй, скорее ползает - creep. Однако в прошедшем времени - crept - у нас получится подкрадывающаяся улитка-ниндзя, потому гугл мне предлагает юзать crawled, что в данный контекст вполне вписывается:

Машинный перевод как способ скоротать вечер Юмор, IT, Длиннопост, Codewars, Скриншот, IT юмор, Google Translate

Ок, гугл, как скажешь. Теперь переходим к самому главному - к женитьбе существительного с глаголом.


Вбиваем первое, что приходит в сумнящуюся голову и одновременно самое очевидное:

Машинный перевод как способ скоротать вечер Юмор, IT, Длиннопост, Codewars, Скриншот, IT юмор, Google Translate

Хм, квадраты не желают быть пройденными, более того - уверены, что куда-то ползут. Попытка дубль два - спускаем вниз регистр у Crawled (гугл на это нередко живо реагирует):

Машинный перевод как способ скоротать вечер Юмор, IT, Длиннопост, Codewars, Скриншот, IT юмор, Google Translate

квадраты по-прежнему порываются от нас уползти. Вечер переставал быть томным. Попытка №3:

Машинный перевод как способ скоротать вечер Юмор, IT, Длиннопост, Codewars, Скриншот, IT юмор, Google Translate

и опять квадраты норовят прикинуться улиткой. Ладно, сжалимся над болванчиком и явно намекнем, в чем тут дело:

Машинный перевод как способ скоротать вечер Юмор, IT, Длиннопост, Codewars, Скриншот, IT юмор, Google Translate

События развивались стремительно. Квадраты мало того что ползают без спроса, так еще и улитку оседлали! Запашные от улиток нашлись тут, понимаешь. Но мы не сдаемся и продолжаем верить в искусственный интеллект:

Машинный перевод как способ скоротать вечер Юмор, IT, Длиннопост, Codewars, Скриншот, IT юмор, Google Translate

Тем временем упрямые квадраты продолжают свое вероломный поход с улиткой в качестве транспорта.


Больше всего несправедливости, конечно, досталось улитке. Она-то думала, это она тут главное действующее лицо, а ее запрягают как ломовую лошадь и гоняют туда-обратно какие-то неодушевленные наездники, когда должно быть ровно наоборот. Никакого уважения к главной звезде задачи.


В принципе, уже понятно, что название переменной $squaresCrawled в контексте задачи вполне корректно отражает суть переменной, но лишняя проверка лишней не бывает, так что предпринимаем последнюю попытку найти компромисс:

Машинный перевод как способ скоротать вечер Юмор, IT, Длиннопост, Codewars, Скриншот, IT юмор, Google Translate

Подытожил напоследок гугл. И ведь не поспоришь. И еще предприимчивые.

Показать полностью 7
[моё] Юмор IT Длиннопост Codewars Скриншот IT юмор Google Translate
46
17
dCart
7 лет назад
Задачки для изучающих Java

Когда Hello world уже не достаточно.⁠⁠

Привет всем кто учит какие либо языки программирования, а в особенности Java.

Я далекий от про уровня человек, но люблю на досуге писать код. И вот я не так давно (благодаря упоминанию тут), открыл для себя ресурс codewars.


Ресурс поддерживает много языков программирования, так что одни и те же задачи можно решать разными языками. Пользователи сами могут создавать задачи для других и тд.


Но причина создания не в рекламе ресурса, а том что бы найти других людей у которых хобби как у меня и вместе решать задачки, обсуждать их, а может и создавать.

Когда Hello world уже не достаточно. Java, Codewars, Программирование, Логическая задача
Java Codewars Программирование Логическая задача
15
tvoygospodin
8 лет назад

Не могу найти ошибку в коде.⁠⁠

Код низкого качества, но вполне понятный. В спорах пишут, что шестой тест сломан, но у всех нормальных людей получается же.

Помогите пожалуйста и утопите в минусах.

https://www.codewars.com/kata/vasya-clerk/train/python

https://pastebin.com/UKNRN6Ke

Не могу найти ошибку в коде. Python, Codewars, Программирование
Не могу найти ошибку в коде. Python, Codewars, Программирование
Показать полностью 2
[моё] Python Codewars Программирование
6
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии