
Aragaer
08.12.2017
05:22:40
за первую часть

Artem
08.12.2017
05:23:15
итак, я начал решать йолку до того, как начал проходить погранконтроль
и закончил после
норм

Google

Aragaer
08.12.2017
05:23:38
и 720 за вторую
ну чот не, когда из первой части вторая решается за +3 строки это совсем ерунда

some_random_anonymous
08.12.2017
05:24:15
Да, вторую часть надо было усложнять

Artem
08.12.2017
05:26:06
тоже вторая расстроила
я надеялся на джампы

Aragaer
08.12.2017
05:26:13
у меня вот получается с нуля (открыть страницу, открыть текстовый редактор, начать кодить) и до конца (отписаться тут) ушло 15 минут на обе части
можно было бы не тратить время на default dict, а оставить везде get(reg, 0)
8)

Artem
08.12.2017
05:28:15
ну в смысле не тратить время на дефолтдикт

Aragaer
08.12.2017
05:28:34
ну я пока мануал нашел, что он от меня хочет

Artem
08.12.2017
05:28:40
а

Aragaer
08.12.2017
05:28:51
усложнением было бы, если бы операторы сравнения в условии вдруг бы стали иметь другой смысл - чтобы eval не прокатил

Artem
08.12.2017
05:29:02
у меня тоже евал))

Google

Artem
08.12.2017
05:29:23
блин, только ща понял, что можно было проще сделать с евалом

Aragaer
08.12.2017
05:29:30
ну там 6 вариантов, писать какое-то ветвление лень

Artem
08.12.2017
05:29:33
я первую часть парсил полностью

Aragaer
08.12.2017
05:29:50
проще - вообще не парсить вторую часть, а оставить все после if одним куском? 8)

some_random_anonymous
08.12.2017
05:30:13

Aragaer
08.12.2017
05:31:09
ну да
оно наверняка у всех почти одинаковое
где есть эвал, там эвал задействуют. Где нету - ветвления
кстати на честном си строчку парсить было бы не так трудно - вместо регекспа сгодился бы sscanf

some_random_anonymous
08.12.2017
05:33:21
А, лол. В Golang тоже есть аналог.

Aragaer
08.12.2017
05:33:24
%s %s %d if %s %[!<>=] %d

some_random_anonymous
08.12.2017
05:33:26
Что-то я не подумал о нём.
Поюзаю в следующий раз.

Aragaer
08.12.2017
05:34:28
про %[ мало кто знает 8)

Artem
08.12.2017
05:34:49

Pavel
08.12.2017
05:34:54
OPS = {
'>': operator.gt,
'<': operator.lt,
'>=': operator.ge,
'<=': operator.le,
'==': operator.eq,
'inc': operator.iadd,
'dec': operator.sub
}

Artem
08.12.2017
05:34:59
ну точнее нет
я вставлял в формат, да

Aragaer
08.12.2017
05:35:14
я все парсил и делал замену имени регистра на его значение

Google

some_random_anonymous
08.12.2017
05:35:17

Aragaer
08.12.2017
05:35:36
еще надо !=

some_random_anonymous
08.12.2017
05:36:08
Что будет на 25 дне? Написать интерпретатор простенького скриптового языка? ? Что-то авторы любят такие задачки.

Aragaer
08.12.2017
05:37:33
вроде было такое в прошлых годах 8)

Artem
08.12.2017
05:38:13
короче можно было так

Maxim robox
08.12.2017
05:38:26
Что-то не могу решить первую часть.
Тесты проходит.

Pavel
08.12.2017
05:39:30

Maxim robox
08.12.2017
05:40:06
возможно, где-то с операциями налажал?
comparison_signs = {
'!=': lambda a, b: a != b,
'==': lambda a, b: a == b,
'<=': lambda a, b: a <= b,
'>=': lambda a, b: a >= b,
'<': lambda a, b: a < b,
'>': lambda a, b: a > b,
}
Да вроде не

Aragaer
08.12.2017
05:40:58
а ну ты не первую часть потому что решаешь

Aragaer
08.12.2017
05:41:16
и кроме того, на тестах оно не должно пройти
просто сделай return max(registers.values())
это и есть ответ первой части
а твой maxval это вторая часть

Maxim robox
08.12.2017
05:43:02

Artem
08.12.2017
05:43:07

Aragaer
08.12.2017
05:43:25
а
я увидел кусок кода и думал, что это то, что не проходит

Google

Aragaer
08.12.2017
05:44:30
ну вот эти операции это вон как выше было - operator.ne, operator.eq и т.д. вместо того, чтобы свои лямбды сочинять

Maxim robox
08.12.2017
05:45:38

Aragaer
08.12.2017
05:45:49
ну да, дело в чем-то другом

Maxim robox
08.12.2017
05:46:16
https://pastebin.com/LzWCJ2SE
Посчитайте мой инпут, пожалуйста.
Часть первая.

Pavel
08.12.2017
05:46:42

Aragaer
08.12.2017
05:46:47
можно i[1] = {"inc": "+=", "dec": "-="}[i[1]]
вместо replace

Admin
ERROR: S client not available

Maxim robox
08.12.2017
05:46:56

Шон Крэхан
08.12.2017
05:47:06
Привет! Подскажите понятный видеоурок по созданию сайта на питоне? На русском!!

Artem
08.12.2017
05:47:47

Шон Крэхан
08.12.2017
05:48:04

Artem
08.12.2017
05:48:17
stepic.org

Pavel
08.12.2017
05:48:30

Шон Крэхан
08.12.2017
05:48:33

Maxim robox
08.12.2017
05:53:51
https://github.com/roboxv/adventofcode_solutions/blob/master/aoc2017/d8/main.py
У меня ответ 5321 выводит.

Google

Maxim robox
08.12.2017
05:54:29
Не могу понять, где косяк.

Aragaer
08.12.2017
05:57:11
ты после тест кейза регистры чистишь?
ой. sorted()[0] это чот жесть

Michael
08.12.2017
05:58:41

Aragaer
08.12.2017
05:58:50
и еще - if match - чот сделать else - матюгнуться. Мало ли, твой регексп чот не съел

Pavel
08.12.2017
05:58:53
Не могу понять, где косяк.
запустил твой код на своих данных, но без тестов. или и в самом деле после тесткейса косяк, или файл с данными плохо загрузился.

Maxim robox
08.12.2017
05:59:18
Хотя чот не догоняю, почему. Там же разные инстансы классов вроде.
Хотя может и нет.

Pavel
08.12.2017
06:01:22
Хотя может и нет.
>>> class X:
... a = {}
...
>>> x1 = X()
>>> x2 = X()
>>> id(x1.a), id(x2.a)
(58086664, 58086664)
>>>

Aragaer
08.12.2017
06:03:23
если хочешь разные, то надо
class X:
def __init__(self):
self.a = {}
инстансы класса разные, но в инстансе нет собственного словаря, поэтому все инстансы пользуются общим словарем класса
посмотри еще id(X.a) в том же примере

Maxim robox
08.12.2017
06:11:32

Pavel
08.12.2017
06:14:13
накидал небольшой гист: https://gist.github.com/Zagrebelin/5aa2e7f3e89f70af03284b0d598d42f5

Aragaer
08.12.2017
06:16:15
добавь туда еще cls.a
чтобы было понятно, почему такое

ivan
08.12.2017
06:18:46
Есть словарь
Ключами есть названия комманд
Значениями их баллы
Как вывести значение баллов по убыванию?
То есть как отсортировать словарь по Значениями

No
08.12.2017
06:19:50
вызвать значения, обернуть в list, и обернуть в sort

Maxim robox
08.12.2017
06:20:18
Есть OrderedDict.