
Aragaer
15.12.2018
15:54:14
короче, у меня не было явного списка "кто действует в раунде", только их координаты. Поэтому когда один юнит должен действовать, но его убили, а на его место пришел другой, то этот другой действует вместо трупа (фактически второй раз)

Tishka17
15.12.2018
16:00:47

Витя
15.12.2018
16:07:14
Ботоделы, а папку pycache нужно на гитхаб загружать или в .gitignore её?

Маришка
15.12.2018
16:07:34
в игнор

Google

Маришка
15.12.2018
16:07:50
просто пропиши __pycache__/ и всё
А вообще за тебя придумали уже гитигнор
https://github.com/github/gitignore/blob/master/Python.gitignore
для питона

Витя
15.12.2018
16:09:01
Оо, спасибо

Aragaer
15.12.2018
16:10:55
вторую часть прошел
хренассе, я даже в тысячу попал

Eldar
15.12.2018
16:22:39
ищи в описании ссылку на питон бегинерс, я тебе выдал РО

Alexey
15.12.2018
16:27:22
блин, в елке тоже все тесты прохожу, но на своем инпуте не работает( и неясно куда дебажить

Aragaer
15.12.2018
16:42:11
можно сверить с моим решением

Yegor
15.12.2018
17:20:00
Yield это ключевое слово, которое используется примерно как return — отличие в том, что функция вернёт генератор.
Что в этом можно понять?

r o o t @
15.12.2018
17:21:25
ку, драсте

Yegor
15.12.2018
17:21:38
тоесть yield это приблуда которая создает генераторы?

Alex
15.12.2018
17:22:35

Google

Yegor
15.12.2018
17:23:51
ну вот по факту у меня не хватает фантазии куда применить эту баланду на практике
Мало того, у меня постоянно не хватает фантазии куда применить питоновые классы

Владимир
15.12.2018
17:25:02

Alex
15.12.2018
17:25:14
Или асинхронщина

Aragaer
15.12.2018
17:25:25
def revrange(n):
while n:
yield n
n -= 1
for x in revrange(10):
print(x)

Yegor
15.12.2018
17:25:26
можно пожалуйста практические примеры?

Владимир
15.12.2018
17:25:26

Yegor
15.12.2018
17:25:59

Alex
15.12.2018
17:26:10

Aragaer
15.12.2018
17:26:17
а чего тут понимать
функция revrange() возвращает итератор, который последовательно выдает значения 10, 9, ... 1
реально списка нигде нет

Владимир
15.12.2018
17:27:13
можно пожалуйста практические примеры?
import time
import os
def follow(thefile):
thefile.seek(0, os.SEEK_END)
while True:
line = thefile.readline()
if not line:
time.sleep(0.1)
continue
yield line
аналог tail -f

Aragaer
15.12.2018
17:27:46
норм

Yegor
15.12.2018
17:33:02
Товарищи, там у Молчанова курс идет, по асинхронному питону. Никто не смотрел?
Просто я так глянул, вроде так просто что аж страшно

Винни
15.12.2018
17:33:24
у меня почка болит, алло, ты о чем

Владимир
15.12.2018
17:34:56
вот я уже ничего и не понял
Генератор вычисляет каждое следующее значение. Вычисляет и останавливается. Пока его снова не вызовут в цикле или через next
def counter(n=10):
while 0 < n:
yield n
n -= 1
In [11]: for i in counter():
...: print(i)
10
9
8
7
6
5
4
3
2
1
In [12]: g = counter(10)
In [13]: g.__next__()
Out[13]: 10
In [14]: g.__next__()
Out[14]: 9
In [15]: g.__next__()
Out[15]: 8


Yegor
15.12.2018
17:37:13
Можно спросить по практике, я просто не знаю это асинхронность или нет?
Допустим, есть пачка процессов, которые идут на один сайт и выдергивают там некоторые данные, они их выдергивают вразнобой и у кого как получится и за разное время.
Они все эти данные складывают в какую-то очередь.
Дальше другая пачка процессов стают в эту очередь и выдергивают из нее себе задачи.

Google

Yegor
15.12.2018
17:38:19
@vovkd что за сопрограммы?

Владимир
15.12.2018
17:38:37
coroutines

Yegor
15.12.2018
17:38:55
первый раз вообще вижу

Aragaer
15.12.2018
17:39:29
процессы и треды это на уровне операционной системы независимые потоки команд
многозадачность через них осуществляется операционной системой

Владимир
15.12.2018
17:40:30
Надо разделять параллельное исполнение и кооперативное. Процессы, треды используются из ОС. Сопрограммы же позволяют устроить передачу исполнения от одной сопрограммы к другой внутри одного процесса и одного потока. Управление всем этим ты уже сам организуешь. А когда работают процессы и потоки, то этим занимается ОС. В случае питона в дело еще вступает GIL, который портит картину

Aragaer
15.12.2018
17:40:32
корутины это более легковесная конструкция, которая реализована в пределах одного процесса/потока. Операционная система о них ничего не знает, а многозадачность между ними реализована уже средствами языка/библиотеки
вот да, у корутин многозадачность кооперативная

Andy
15.12.2018
17:43:13
чем нагружают джуниора в среднем в бурже . подскажите кто работает там .

Владимир
15.12.2018
17:49:24
а в чем отличия от горутин в го ?
Честно не знаю, потому что в Го я не играю) Но вижу, что у всех трендовых языков появилась поддержка сопрограм из коробки. Го, Котлин и т.д.. Предполагаю, что цель у всех одна. Но реализация может отличаться.

Tishka17
15.12.2018
17:53:49

Aragaer
15.12.2018
17:57:35
ни в чем