Chat:Ru/2021-06-20

From CG community
Jump to navigation Jump to search

tutubalin: чтобы из неких входных данных делать объекты используется Factory

tutubalin: а внутри неё уже может использоваться Builder

Default avatar.png TTeaLL: подскажите

Default avatar.png TTeaLL: если я print() пишу в стобик 2 принта

Default avatar.png TTeaLL: и игра считывает в одном раунде 1 принт в другом другой, это не норма?

Default avatar.png TTeaLL: In each turn, the player can perform more than one action. They must be separated by a semicolon. For instance, to perform the three previously showed actions in the same turn, the player must provide the following multi-action: “1 100 50; 3 -100 -10; 5 0 0”.


Default avatar.png TTeaLL: вот условие

Default avatar.png TTeaLL: это питон

Default avatar.png TTeaLL: мне нужно вывести принтом по 3 параметра, но я чёт не понимаю как это сделать 1 ринтом, он не режет если в нудном порядке через запятую перечислить все параметры

wlesavo: They must be separated by a semicolon. через точку с запятой

wlesavo: сами параметры через пробел, там же даже пример иесть

Default avatar.png TTeaLL: не получается

Default avatar.png TTeaLL: print(spear spear_x spear_y;sword1 sword_x sword_y;cav1 cav_x cav_y)

Default avatar.png TTeaLL: пишет что это неверный синтаксис

NeAlyssa: используй sep и end в принте, почитай про них print(a,b,c, sep = ' ', end = ';') print(a,b,c, sep = ' ', end = ';')

NeAlyssa: print(a,b,c, sep = ' ', end = '.')

735487: только ему наоборот end не надо а sep=';'

NeAlyssa: sep вставит между переменными ему тогда и они все будут через ;

NeAlyssa: но sep = ' ' не обязателен да, он по умолчанию такой

Default avatar.png TTeaLL: так, это чёт новое

NeAlyssa: лучше почитай, это легкая но удобная штука, вроде она тебе и нужна

Default avatar.png TTeaLL: print(spear spear_x, sep=';', spear_y;sword1 sword_x sword_y, sep=';', cav1 cav_x cav_y)

Default avatar.png TTeaLL: так?

NeAlyssa: а тебе обязательно одним принтом? на один принт можно использовать только один sep и end

Default avatar.png TTeaLL: ща попробую

NeAlyssa: print(a,b,c, end = '; ') print(a,b,c, end = '; ') print(a,b,c, end = '.') Чтобы получить строку, как из примера, вот так можно написать

Default avatar.png TTeaLL: print(spear, spear_x, spear_y, end=';') print(sword1, sword_x, sword_y, end=';') print(cav1, cav_x, cav_y, end=';')

Default avatar.png TTeaLL: не, не работает

a5kin: попробуй последний просто print(cav1, cav_x, cav_y)

NeAlyssa: пробел добавь в end, не ';' a '; ', в примере там пробелы между трйоками данных

a5kin: в конце должен быть перенос строки, а не ;

Default avatar.png TTeaLL: так, последнее как написать

NeAlyssa: в примере оно в одном строку введено

Default avatar.png TTeaLL: може реально в один принт ввести

NeAlyssa: из последнего вообще попробуй end убрать как и написали

Default avatar.png TTeaLL: print(spear, spear_x, spear_y, sep=' ', end='; ') print(sword1, sword_x, sword_y, sep=' ', end='; ') print(cav1, cav_x, cav_y, sep=' ')

Default avatar.png TTeaLL: не, не работает

Default avatar.png TTeaLL: если что в sep пробел

Default avatar.png TTeaLL: тут чёт не отображается

Default avatar.png TTeaLL: короче не знаю, приколы с принтом

NeAlyssa: сеп по умолчанию равен пробелу, его можно вообще не писать

NeAlyssa: а откуда вообще это задание

Default avatar.png TTeaLL: https://www.codingame.com/contribute/view/486222077fe22e3aa6bcdc0f729dd46223bb

Default avatar.png TTeaLL: писал это джавист

a5kin: там вроде разделитель между экшнами " ; "

Default avatar.png TTeaLL: верно, но как это написать

a5kin: пробелы с обеих сторон от ;

Default avatar.png TTeaLL: print(spear, spear_x, spear_y, sep=, end=' ; ') print(sword1, sword_x, sword_y, sep=, end=' ; ') print(cav1, cav_x, cav_y, sep=)

Default avatar.png TTeaLL: не работает

Default avatar.png TTeaLL: это конечно прикольно что есть проблемы с выводом

NeAlyssa: сепы убери

Default avatar.png TTeaLL: а в третьем end ='.'?

NeAlyssa: нет, я так понимаю в конце перенос строки, то есть ничего не ставь

Default avatar.png TTeaLL: но без сепа как исзбиваться от запятых?

Default avatar.png TTeaLL: они же через пробел должны быть

NeAlyssa: запятые не будут отображаться, это просто перечисление параметров функции print

NeAlyssa: по умолчанию sep равен пробелу и все параметры print указанные через запятую отображаются через пробел

Default avatar.png TTeaLL: print(spear, spear_x, spear_y, end=' ; ') print(sword1, sword_x, sword_y, end=' ; ') print(cav1, cav_x, cav_y)

Default avatar.png TTeaLL: не помогло

Default avatar.png TTeaLL: они всё ещё тупят

Default avatar.png TTeaLL: причём

Default avatar.png TTeaLL: по отельности print(x, y, id) в работает, просто через раз

NeAlyssa: а твой вывод последний сам по себе выглядит как то что прописано в условии?

You can send more than one order (without limit) in one turn separating them with ";", for example "2 0 300 ; 4 100 0"

a5kin: значит либо в данных, которые ты выводишь проблема, либо движок игры бажный :)

Default avatar.png TTeaLL: нет, данные которые вывожу норм, потом что по отдельности они работали

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

Default avatar.png TTeaLL: бот вот так выводит

Default avatar.png TTeaLL: http://chat.codingame.com/pastebin/51bdf938-2991-49af-9b59-f3de7d191620

NeAlyssa: это то, что должно получаться да?

NeAlyssa: http://chat.codingame.com/pastebin/7c7990fc-5b0e-45d2-b891-b32b6dab95b6

NeAlyssa: ой, там конечно по одному пробелу только

Default avatar.png TTeaLL: эх нет

Default avatar.png TTeaLL: ну типо он передаёт

Default avatar.png TTeaLL: 1 125 555; 2 -125 555; 3 -525 655; 4 125 555


Default avatar.png TTeaLL: а дальше уже игра прописывает столбиком кто куда

Default avatar.png TTeaLL: вообще он бота выклывал на джаве в сурсе, но я джаву не знаю и при попытке разобраться я понял, что это надо делать основательно

a5kin: а что игра пишет на твой ход?

735487: да нахера ты ему в end советуешь ставить если ему разделить вывод ими надо. это разделитель же, sep

735487: вобщем полез почитать что там реально надо выводить

735487: таки я не прав и надо через end но кроме последнего либо в строку заджойнить

NeAlyssa: :upside_down:

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

Default avatar.png TTeaLL: просто timeout правда дальше 2 такта игра не идёт

Default avatar.png TTeaLL: System.out.println("0 0 0"); System.out.println(finalString); System.out.println(type + " " + x + " " + y);

Default avatar.png TTeaLL: в джаве он вот так выводит

Default avatar.png TTeaLL: ну это строки из разных частей кода

Uljahn: лучше ходы добавлять в список, а потом в конце выводить одним принтом, там и заджойнить можно как надо, без сепов и эндов, и отдебажить проще в случае чего, и не напутаешь с двойным выводом

Default avatar.png TTeaLL: да я бы с радостью, но джоином не особо владею, и не понятно можно ли так

Uljahn: самое время научиться, там не очень сложно

Default avatar.png TTeaLL: окей

Uljahn: ещё можно про f-strings глянуть, эта штука сильно повышает удобство построения вывода

Uljahn: (т.н. строковая интерполяция)

Uljahn: как можно больше экспериментируй с новыми фишками, которые изучаешь, так их лучше запомнишь и поймёшь, в каких ситуациях они могут пригодиться, какие удобства можно извлечь из них

Uljahn: я когда начинал учить питон (до этого давным-давно на паскале кодил), очень часто офигевал - "как же я раньше жил без этой фичи?"

a5kin: а потом, когда кодишь на других языках после питона, офигеваешь: "и как мне теперь жить без этой фичи?"))

Uljahn: когда пробовал пазлы на плюсах да на джяве решать, то как дело доходит до дебага (массив какой-нить вывести или хэшмэп), то сразу "wtf, почему так сложно?!" - питон расслабляет, от синтаксического сахара уже зависимость

Uljahn: ну и производительностью приходится расплачиваться за удобства

Uljahn: т.е. тут сахар уже даже не синтаксический, в коде его нет, он под капотом

a5kin: сахар в образе мышления, который позволяет лаконично построить определение для сложных вещей

a5kin: мне кстати скала еще в этом плане оч понравилась

a5kin: может руби тоже зайдет, говорят он бомба

Uljahn: тогда уж сразу Crystal

a5kin: о, спасибо за наводку, даже не слышал о нем)