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

Магический мир

Мидкорные, Ролевые, Три в ряд

Играть

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

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

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

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

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

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

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

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
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии