Chat:Ru/2020-08-28
Uljahn: на странице анонса посмотри
Uljahn: если там пусто, то значит даже организаторы ещё не знают
vrabosh: почему здесь не работает такое? 'hello' _ == 'hello'
vrabosh: для гольфа иногда полезно
Uljahn: а как это должно работать? :thinking:
tutubalin: это вроде только в интерактивной оболочке работает
tutubalin: в перле можно так делать и в скриптах
Uljahn: в жс?
tutubalin: в питоне
Uljahn: я думал скрипт - это название короткой проги на питоне, а есть разница? работа с аргументами из командной строки? :thinking:
tutubalin: запусти просто python или python3 из командной строки, без параметров
Uljahn: ну, это тот самый интерактивный режим... или нет?
tutubalin: ага. вот в нём работает _
tutubalin: равна последнему полученному результату
Uljahn: тогда я не понял, в каких скриптах :confused:
tutubalin: ну если написать скрипт 2+2 print(_) и запустить его, то будет None
Uljahn: угу
tutubalin: даже не None, а эксепшн
tutubalin: а в интерактивном режиме работает. а если скрипт запускать, то не работает
tutubalin: я забыл терминологию. хз как это правильно сказать
vrabosh: http://chat.codingame.com/pastebin/653a59e2-7147-4a3c-ac74-757a7abc6195
vrabosh: power of thor переделали? там есть читерский способ или уже нету?
tutubalin: есть, просто он чуток длинее
amurushkin: а не пробовали через eval или еще какую фигню? типа питон в питоне запустить
amurushkin: попробовал. у меня не вышло
BorisZ: с подчеркиванием это просто фича repl питоновского, не языка
BorisZ: если результат выражения не None то он сохраняется в _ и выводится на экран
amurushkin: ну вот реально для гольфа могло бы помочь наверное такая фича
BorisZ: может в других реализациях repl и не так будет совсем
BorisZ: вроде в перле и в руби есть такие магические переменные
BorisZ: и они всегда доступны
amurushkin: да в руби вообще жесть какая то творися в гольфе
tutubalin: REPL, точно. а всё RIPL пытался нагуглить :)
Pyhesty: а можно как-то не использовать в плюсах using namespace std;??? а то в СОС это дофига символов)
mykeich: std::
Pyhesty: но тогда это нужно даже к cin прикреплять...
Pyhesty: то есть почти ко всему (
mykeich: так и есть
mykeich: а СОС это что у нас?
Uljahn: клэши, там попадается режим shortest, т.е. код-гольф
Uljahn: CoC == Clash of Code
mykeich: Какая гадость:)
amurushkin: в шорт режиме лучше на плюсах не писать
amurushkin: я клеши на питоне только
Uljahn: можно создавать приватные клэши, там указать язык и виды заданий, потом делиться ссылкой с друзьями, тогда можно более-менее в равных условиях соревноваться
Uljahn: ещё не так давно проводились clash-wars, два часа клэшей на одном языке
ConstantBolzmann: можно макрос на std:: повесить поидее
ConstantBolzmann: я когда писал бфс с дфс, я использвал не юсин неймспейс а подмену строки в ширину екрана на название сущности тоже работает как макрос
ConstantBolzmann: и код сразу читаемый становится
kotobotov: здаров посоны
kotobotov: че так там у вас обстановка? кого натягиваете в соревнованиях?
Pyhesty: а <bits/stdc++.h> не поддерживается?
amurushkin: поддерживается
amurushkin: kotobotov: здрав будь человече )
kotobotov: амурушкин, смотрю ты совсем тут поселился
kotobotov: до топ100 добрался уже
kotobotov: ты это, прекращай давай, семье муж нужен)
amurushkin: kotobotov: не поверишь. почти не участвую. в последнем контесте даже из бронзы не вышел ))
amurushkin: последние дни правда клешами опять занялся. решил уже добить ачивку ))
kotobotov: молодец конечно
kotobotov: а я пока халявлю)
kotobotov: ну может с работы затяну пару адептов новых сюда, и глядишь мотивация будет что-нибудь тут дополнительно решать
ConstantBolzmann: в с++ подтянулось и контрл клик даже отрабатывает
wlesavo: а мне осталась только кодгольфная ачивка, время учить перл похоже
amurushkin: wlesavo: я и без perla ее взял на питоне
wlesavo: ну я чето слабый
wlesavo: 3% только после того как починил тора, видимо чак нориса надо делать, у меня там совсем грустно
amurushkin: да ладно не гони. просто сделай температуры и тора на 5 языках
amurushkin: ну и чака да. но там не обязательно совсем круто чтобы было
wlesavo: amurushkin так за разные языки дополнительно дают? я думал просто лучший учитывается
mykeich: сумма за все варианты решения
amurushkin: 5 штук учитывается на каждый пазл
mykeich: я для каждого решил на трех языках чтоб в 2% попасть
_Lion_: привет:wave: какой пазл посоветуете на сложности легко?
wlesavo: а, спс, тогда действительно изи
amurushkin: _Lion_: если новичок то тор и температуры
_Lion_: спасибо
_Lion_: :thumbsup:
tutubalin: _Lion_ Descent тоже лёгкий
Uljahn: в некоторых даже есть кнопка Hints слева, чтобы понять, как с платформой работать
_Lion_: ясно буду рушать
Uljahn: рекомендую классические пазлы прорешивать, у которых нет автора, с авторами - это коммьюнити, там сложность может быть выше
Uljahn: то, что выше назвали - как раз классические
vrabosh: txt = 'ыыы (Hello|Hi) ввв (les amis|coders), вввё' хочу вот такое результат: [('Hello', 'Hi'), ('les amis', 'coders')] как сделать через re
Uljahn: :confused:
StepanSmirnov: re.findall('\(\\w+|\\w+\)')
StepanSmirnov: потом в for split('|')
ilgiocatore: w не включает пробел
StepanSmirnov: можно тогда точку
StepanSmirnov: не обратил внимания
StepanSmirnov: но лучше вместо \\w поставить [^|()]
StepanSmirnov: т.е. все кроме () и |
ilgiocatore: вот как-то так надо: \(([^\)]+)\)
ConstantBolzmann: я не парюсь сайт врубаю и прогоняю)
ConstantBolzmann: строку и тд)
vrabosh: через slpit не интересно, хотел научиться все в одной регулярки сделать
StepanSmirnov: вообще можно вот такой регуляркой сделать ((?<=[(|]).+?(?=[)|]))
amurushkin: гольферы нужен совет. вот код я сделал на питоне. s=[] for w in input().split():s+=[(sum(1 for c in w if c in'AEIOUaeiou'))] print(*s) 88 символов. у чуваков 65 получился. как можно уменьшить?
gsomix: Uljahn, опубликовали. https://www.codingame.com/training/medium/escaping-the-cat
StepanSmirnov: vrabosh Только результат будет без вложенности потом надо zip(res[::2],res[1::2])
vrabosh: StepanSmirnov не то
vrabosh: выражений (|||) сколько угодно может быть..
vrabosh: я хотел научить групировать
vrabosh: когда сначало одно достаю что в (), а потом уже над этим чтото делаю
StepanSmirnov: так это работает с любым количеством
vrabosh: нет.. там под ва выводит..
vrabosh: [(1,2),(1,2,3,4),(1),()]
StepanSmirnov: вот оно что
vrabosh: я уже пазл то сделал.. и врятли этот вариант бы мне помог.. но любопытство осталось.. как бы сделать вот так)
vrabosh: пазл Bulk Email Generator
ConstantBolzmann: покажи потом свое решение
gsomix: А я попробую сегодня поправить ошибки в своем боте для Tron Battle и выйти из деревянной лиги. :)
ConstantBolzmann: а я все что хотел все сделал)
gsomix: ConstantBolzmann, ничего?
ConstantBolzmann: gsomix незнаю я тебя не понимаю, тебе виднее
vrabosh: ConstantBolzmann решение можно посмотреть в пазле и не тольо мое
ConstantBolzmann: просто не логично както ты флудишь про решение и не показываешь)
gsomix: ConstantBolzmann, никто не обязан показывать решение.
gsomix: Но его можно посмотреть, если решишь сам и на том же языке.
ConstantBolzmann: тогда пропадает суть вещей о чем вещает человек
gsomix: Вроде бы все понятно.
ConstantBolzmann: нет предмета нет понимания его человека
gsomix: ConstantBolzmann, это из твоих сообщений обычно пропадает суть вещей.
ConstantBolzmann: с тобой уже давно никто не спорит
Uljahn: ConstantBolzmann: ты хоть что-то кроме чата на CG используешь?
vrabosh: ConstantBolzmann сделай ник короче, неудобно копировать)
amurushkin: блин смог на питоне 45 символов. а на руби чел сделал 44. а я на руби не могу )))
Uljahn: vrabosh: Con + TAB
Uljahn: автодополнение работает в чате
vrabosh: что за кон?
Uljahn: начало ника
Uljahn: потом таб жмёшь
vrabosh: ааа как в шеле
Uljahn: даже на "co" срабатывает)
vrabosh: amurushkin что гольфишь?
amurushkin: vrabosh: клеши
Uljahn: фарм ачивок
amurushkin: print(sum(int(c)for c in input()if~int(c)%2)) самый гольфистый мой код на питоне
amurushkin: на питоне срочно надо print заменить на p как на руби
vrabosh: print(sum(c for c in map(int,input())if c%2)) - а так?)
vrabosh: точно также)
vrabosh: print(sum(int(c)%2 for c in input())) - так тоже должно поидеи сработаь...
vrabosh: иф тут не нужен
vrabosh: хотя я не знаю что делает~
vrabosh: всеравно иф поидеи не нужен
ConstantBolzmann: я все что хотел сделал не на сайте теперь буду на сайте делать)
vrabosh: в топы идти?
ConstantBolzmann: я тут никуда не рвусь
ConstantBolzmann: тут чисто задачки делаю какие нравятся)
Uljahn: как-то медленно делаешь, уровень почти не растёт
ConstantBolzmann: я тут делаю и к себе в копилочку имплементирую
ConstantBolzmann: и получается профит
ConstantBolzmann: знания опыт сразу все в одном
vrabosh: нет бы в опенсорц закинуть)
gsomix: Кстати, про опенсорс. Я в дискорде писал напоминание — хактоберфест через месяц.
https://hacktoberfest.digitalocean.com/
ConstantBolzmann: а что там делать нужно?
vrabosh: это что такое?
vrabosh: тут бы сначало задачки порешать)
vrabosh: на пару лет работы
gsomix: Пишешь код в опенсорс проекты на гитхабе — получаешь футболку и стикеры.
vrabosh: а что писать надо?
ConstantBolzmann: но я так понял по челенджу или любой?
ConstantBolzmann: у меня тут есть парочка проектов)
gsomix: > To qualify for the official Hacktoberfest swag options, you must register and make four pull requests between October 1-31.
vrabosh: я вот все вкбота по 10символов в день пишу)
gsomix: vrabosh, залетаешь в понравившийся проект, берешь issue, пишешь pull request.
vrabosh: с рус комментарми итд
vrabosh: а гольфить там можно?)
ConstantBolzmann: а что такое ишуе это решение открытое?
ConstantBolzmann: там есть какоето ограничение по времени на решение?
gsomix: ConstantBolzmann, https://docs.github.com/en/github/getting-started-with-github/github-glossary#issue
ConstantBolzmann: я с этим не имел дел
ConstantBolzmann: хз чо это такое
vrabosh: gsomix там флудить можно? и на жл что нить делать можно?)
Uljahn: )
gsomix: кекб
amurushkin: vrabosh: if там чтобы посчитать сумму четных чисел. а у тебя вроде будет считать сумму остатков
vrabosh: amurushkin подставь ~int(c)
vrabosh: разницы же нет 0+1+1 деать или 1+1
amurushkin: мне не все числа надо суммировать. а выбрать четные
vrabosh: пои ифу у тебя проходят числа больше >0
vrabosh: а не проходят 0, а от перестановк нулей сумма не меняется.. так учительница в школе говорила)
amurushkin: от 0 до 9
amurushkin: по ифу у меня проходят только четные цифры
vrabosh: а все понял.. ща сек
vrabosh: я чтото подумал надо колво четных посчитать. а надо сумму их
vrabosh: цифр этих
amurushkin: вот как так можно писать? читерство. p gets.to_i.to_s(2).count(?1).odd?
tutubalin: на питоне вроде даже короче будет
wlesavo: почему p выводит дополнительные кавычки в аут?
tutubalin: print(bin(int(input())[2:].count(1))
wlesavo: на руби кстати не зная языка температуры на 10 символов короче
tutubalin: а, не. надо ж ещё чётность проверить
amurushkin: на питоне фигня в том что надо еще на четность и булевое с маленькой буквы
amurushkin: и я вот про count не знал. делал через sum
BorisZ: p вызывает repr() а print str() - вроде так
wlesavo: да кстати, бул с маленькой буквы это боль
BorisZ: f'{int(x):b} короче чем bin(int(x))[2:] )
amurushkin: спасибо надо запомнить
AlexisMolestos: а можете обьяснить зачем нужны эти задачи по написанию наиболее короткого кода? в реальных проектах так не делают
tutubalin: просто вид спорта. никак не связан с реальностью
tutubalin: ну разве что со сложностью по Колмогорову
BorisZ: любое соревнование с обговоренными правилами имеет право на существование, лишь бы людям нравилось
amurushkin: да просто соревновательный процесс. вид головоломки
BorisZ: с шестом через забор в реальной жизни тоже никто не прыгает однако ж олимпийский вид спорта, срибели, миллионы денег
BorisZ: *зрители )
BorisZ: ну и потом некоторый смысл есть и практический - погружаешься в темные глубины языка, чуть лучше понимаешь как разные граничные случаи работают
BorisZ: но понятно что главное что для удовольствия
Uljahn: в реальных проектах в одном файле тоже не пишут, наверное :)
ConstantBolzmann: tuple в с++ имба
ConstantBolzmann: крутая сущность
tutubalin: интересно, что 2 года назад, когда я гольф нахваливал, на меня смотрели как будто я жль под генту патчу )
ConstantBolzmann: клёвое нарицание
BorisZ: вот где тьюплы круто сделаны дак это в расте, все для людей
BorisZ: смотреть одно удовольствие - и индексация нормальная x.0 - первый элемент, без скобочек, и паттерн матчинг и чего только нет
BorisZ: и unpacking как в питоне a, b = tuple
tutubalin: а я как-то побаиваюсь раста пока
BorisZ: я уже два подхода делал к расту, все как-то соскакивал, не хватает мотивации
gsomix: Аналогично. Пока непонятно, куда его применить. :)
tutubalin: на крестики
gsomix: Да, на соревнования. :) Я просто пробовал Rust до того, как на CG зарегистрировался. И для себя решил, что прикладной софт (даже визуализация на жль) нормально пишется и на других языках, даже более медленных, с GC.
gsomix: Доброй ночи.
Pyhesty: народ, по вашему какой код обычно короче питон или раст?
Pyhesty: и при знании с++ насколько реально питон вкурить?
ilgiocatore: питон намного проще плюсов, изи вкурится
ilgiocatore: не сильно знаком с растом, но уверен, что на питоне код короче
Pyhesty: как на питоне без цикла считать все инпута строки в массив?
inoryy: мап
Pyhesty: nums = map(int, input()) ?
inoryy: input().split()
Pyhesty: это если в одной строке? а если каждые данные на новой строке считает? у меня в такой структуре только первую строку читает
inoryy: ну тогда не обойтись уже если не хочешь махинировать с нечитабельным гольфом
Pyhesty: именно нечитабельный гольф нужен... (((
inoryy: по 1 числу на строку?
Pyhesty: да
inoryy: ну для гольфа там надо махинировать с переопределием функций а ля i = input
Pyhesty: ок ладно поищу примеры, спс
inoryy: а так nums = [int(input() for _ in range(nums_ct)]
Pyhesty: ага, это я попробовал, но как-то махинирут что было короче)
inoryy: хз, гольфом не интересуюсь
Pyhesty: а инкремент в питоне есть?
inoryy: только +=
Uljahn: можно вроде сразу все строки считать из инпутов, а потом сплитануть по переводу строки
Uljahn: sys.stdin.read().split('\n')