Chat:Ru/2020-08-28

From CG community
Jump to navigation Jump to search

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, два часа клэшей на одном языке

Default avatar.png ConstantBolzmann: можно макрос на std:: повесить поидее

Default avatar.png ConstantBolzmann: я когда писал бфс с дфс, я использвал не юсин неймспейс а подмену строки в ширину екрана на название сущности тоже работает как макрос

Default avatar.png ConstantBolzmann: и код сразу читаемый становится

kotobotov: здаров посоны

kotobotov: че так там у вас обстановка? кого натягиваете в соревнованиях?

Pyhesty: а <bits/stdc++.h> не поддерживается?

amurushkin: поддерживается

amurushkin: kotobotov: здрав будь человече )

kotobotov: амурушкин, смотрю ты совсем тут поселился

kotobotov: до топ100 добрался уже

kotobotov: ты это, прекращай давай, семье муж нужен)

amurushkin: kotobotov: не поверишь. почти не участвую. в последнем контесте даже из бронзы не вышел ))

amurushkin: последние дни правда клешами опять занялся. решил уже добить ачивку ))

kotobotov: молодец конечно

kotobotov: а я пока халявлю)

kotobotov: ну может с работы затяну пару адептов новых сюда, и глядишь мотивация будет что-нибудь тут дополнительно решать

Default avatar.png ConstantBolzmann: в с++ подтянулось и контрл клик даже отрабатывает

Default avatar.png ConstantBolzmann: Pyhesty

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: вот как-то так надо: \(([^\)]+)\)

Default avatar.png ConstantBolzmann: я не парюсь сайт врубаю и прогоняю)

Default avatar.png 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

Default avatar.png ConstantBolzmann: покажи потом свое решение

gsomix: А я попробую сегодня поправить ошибки в своем боте для Tron Battle и выйти из деревянной лиги. :)

Default avatar.png ConstantBolzmann: а я все что хотел все сделал)

gsomix: ConstantBolzmann, ничего?

Default avatar.png ConstantBolzmann: gsomix незнаю я тебя не понимаю, тебе виднее

vrabosh: ConstantBolzmann решение можно посмотреть в пазле и не тольо мое

Default avatar.png ConstantBolzmann: просто не логично както ты флудишь про решение и не показываешь)

gsomix: ConstantBolzmann, никто не обязан показывать решение.

gsomix: Но его можно посмотреть, если решишь сам и на том же языке.

Default avatar.png ConstantBolzmann: тогда пропадает суть вещей о чем вещает человек

gsomix: Вроде бы все понятно.

Default avatar.png ConstantBolzmann: нет предмета нет понимания его человека

gsomix: ConstantBolzmann, это из твоих сообщений обычно пропадает суть вещей.

Default avatar.png 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: всеравно иф поидеи не нужен

Default avatar.png ConstantBolzmann: я все что хотел сделал не на сайте теперь буду на сайте делать)

vrabosh: в топы идти?

Default avatar.png ConstantBolzmann: я тут никуда не рвусь

Default avatar.png ConstantBolzmann: тут чисто задачки делаю какие нравятся)

Uljahn: как-то медленно делаешь, уровень почти не растёт

Default avatar.png ConstantBolzmann: я тут делаю и к себе в копилочку имплементирую

Default avatar.png ConstantBolzmann: и получается профит

Default avatar.png ConstantBolzmann: знания опыт сразу все в одном

vrabosh: нет бы в опенсорц закинуть)

gsomix: Кстати, про опенсорс. Я в дискорде писал напоминание — хактоберфест через месяц.

https://hacktoberfest.digitalocean.com/

Default avatar.png ConstantBolzmann: а что там делать нужно?

vrabosh: это что такое?

vrabosh: тут бы сначало задачки порешать)

vrabosh: на пару лет работы

gsomix: Пишешь код в опенсорс проекты на гитхабе — получаешь футболку и стикеры.

vrabosh: а что писать надо?

Default avatar.png ConstantBolzmann: но я так понял по челенджу или любой?

Default avatar.png 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: а гольфить там можно?)

Default avatar.png ConstantBolzmann: стой

Default avatar.png ConstantBolzmann: а что такое ишуе это решение открытое?

Default avatar.png ConstantBolzmann: там есть какоето ограничение по времени на решение?

gsomix: ConstantBolzmann, https://docs.github.com/en/github/getting-started-with-github/github-glossary#issue

Default avatar.png ConstantBolzmann: я с этим не имел дел

Default avatar.png 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: в реальных проектах в одном файле тоже не пишут, наверное :)

Default avatar.png ConstantBolzmann: tuple в с++ имба

Default avatar.png ConstantBolzmann: крутая сущность

tutubalin: интересно, что 2 года назад, когда я гольф нахваливал, на меня смотрели как будто я жль под генту патчу )

Default avatar.png ConstantBolzmann: клёвое нарицание

Default avatar.png 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')