Chat:Ru/2021-01-10

From CG community
Jump to navigation Jump to search

Vasyakin: Товарищи, кто может помочь с решением одной задачи на Python?

735487: Vasyakin: чем конкретно помочь?

MadKnight: походу он уже ушёл

Default avatar.png yuri32: сайт codingame.com в мобильном браузере очень плохо отбражается, верстка плывет невозможно решать задачки - есть варианты?

735487: yuri32: решать на компе.

735487: либо в браузере принудительно включать пк режим

735487: и мучаться

MadKnight: yuri32 или своё приложение запили

MadKnight: у CG простой апи

Uljahn: а если через CGSync?

MadKnight: а он есть на мобилу?

Default avatar.png yuri32: а где этот простой api взять?

Default avatar.png yuri32: на мобилу - нет вроде

MadKnight: в f12

Default avatar.png yuri32: http://chat.codingame.com/pastebin/8626774d-59db-495c-94aa-75bef97ddc13

Default avatar.png yuri32: совсем не простой апи... xhr запросы к томуже

Default avatar.png yuri32: http://chat.codingame.com/pastebin/0f0517ae-933b-4aaf-b822-ff96923c5a47

Default avatar.png yuri32: в JSON перед {"code": в запросе идет идентифиактор он у меня постоянный?

MadKnight: ээээ

MadKnight: POST https://www.codingame.com/services/TestSession/getPreviousCodeByLanguageId

MadKnight: RESPONSE

  "using System;\nusing System.....

MadKnight: не, это POST https://www.codingame.com/services/TestSession/generateLspToken

MadKnight: либо это не он

Default avatar.png yuri32: идею понял, может напишу в поддержку - потому что понять условия задачи прочитать все можно с мобилы - невозможно только отправить ответ так как их IDE очень неправильно отображается в телефоне

Default avatar.png yuri32: а если отправлять ответ JSON можно с каким-нибудь токеном (который бы подтвердил что имею право на отправку) тогда ок

Uljahn: это не их IDE, CG использует обычный Monako Editor и онлайн-ассистенты для автодополнений и подсказок

Uljahn: *Monaco

Uljahn: в комментах вычитал: "Monaco doesn't really support touch screens and phone keyboards for some reason" и "physical keyboards or Samsung Dex should work well", и ещё "Install codeboard or hacker's keyboard. You should not have any typing issues after that"

Default avatar.png PikalovAlexey: Всем привет. Парни, подскажите. Где можно найти задачи для тренировки кода вот прям совсем новичку в Java

Default avatar.png PikalovAlexey: ?

MadKnight: https://www.codingame.com/ide/puzzle/the-descent

MadKnight: https://www.codingame.com/ide/puzzle/coders-strike-back

Uljahn: power of thor ep.1 ещё посмотри, там как и в descent слева есть Hints

Uljahn: новичку тут трудно будет, здесь задания уже для практики в основном

Default avatar.png PikalovAlexey: да

Default avatar.png PikalovAlexey: я столкнулся с большими сложностями

Uljahn: вот если уже умеешь кодить, то здесь очень удобно новый язык изучать

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

Uljahn: ну и гуглить никто не запрещает, главное знать, как сформулировать вопрос :)

Default avatar.png PikalovAlexey: то то и оно. Через сложности преодолеть незнания. Да и другого источника, где есть подобный материал для тренировки нет

Uljahn: для начала неплохо пару онлайн-туториалов пройти по основам языка (синтаксис, control flow, базовые структуры данных), тогда проще будет формулировать поисковые запросы, а там уже на stackoverflow заселяться

Uljahn: джава конечно посложнее питона будет для новичка

Default avatar.png PikalovAlexey: да мне так и сказали, но уже начал учить, придется сражаться. А скажи, на stackoverflow заселяться, то есть ты имеешь ввиду активно изучать, что там пишут другие люди?

Default avatar.png PikalovAlexey: или там что то особенное придется делать?

Uljahn: не, просто гуглишь "java как сделать то-сё" и смотришь ответы с сайта SO

Uljahn: я так питон учил

Uljahn: гуглил типа "python split string", "python string to int" и т.д., потом копировал код с SO, курил ошибки, постепенно врубился

735487: а вообще если совсем с нуля то может стоит какой нибудь курс пройти онлайн?

Default avatar.png TTeaLL: подскажите кто-нить, for i in input().split(): тут подразумевается что сплитим инпут который был получен ранее? это питон если что

735487: TTeaLL: не ранее а считанный прямо здесь. input считывает строку

Uljahn: скорее даже формирует объект (без имени) типа строка из потока чтения stdin, у строк есть встроенный метод split, вызов метода преобразует строку в список путём разбиения по пробелам, в заголовке цикла создаётся итератор по полученному списку, и пока он не исчерпан, переменной i присваивается очередное значение итератора, как-то так

Uljahn: после завершения цикла переменная i будет ссылаться на последний элемент списка

Uljahn: хм, получается, что список не будет удалён сборщиком мусора, пока мы i не переопределим? :thinking:

Uljahn: или только последний элемент зависнет... надо потестить как-то

wlesavo: по логике список в конце цикла удалится, при итерации по элементам списка изменение же не меняет элементы массива

wlesavo: >>> a = [1,2,3,4] >>> for i in a:i=1; >>> a [1, 2, 3, 4]

Uljahn: надо методы у i вызывать, чтобы создать изменения в списке

Uljahn: а так ты просто имя переназначаешь

Uljahn: или так: ones = np.ones((2, 2)) for i in ones: i[1] = 0

MadKnight: wlesavo

MadKnight: ты же просто копию элемента изменяешь лол

Uljahn: нет же

Uljahn: это просто rebinding

MadKnight: крч привыкай к питону wlesavo

Uljahn: import numpy as np for row in np.ones((2, 2)):

   row[0] = 0

print(row.base)

Uljahn: ahah

Uljahn: у меня подозрение, что обычные списки всё-таки собираться будут, т.к. на них никто не ссылается

Uljahn: переменная цикла только на один элемент ссылается, вот он останется висеть, пока её не переопределим