Форум сайта python.su
58
Budulianin
Опоздали 
Офлайн
6
in
Я конечно извиняюсь, но это как-то ужасно.
Прочитав код, меня немного заклинило.
Ты хочешь прервать
def checkBlackCount (self, extraData): countFlag = False for i in range(11): # Ты хочешь прервать тут ? for j in range(11): figure = self.field[i][j] if figure == 1: countFlag = True if countFlag == False: extraData['win'] = True
Офлайн
6
4kpt_IIНу иногда требуется, просто тут непонятно было, что именно хочет человек.
За global бил бы по рукам
Отредактировано sypper-pit (Сен. 28, 2014 01:39:28)
Офлайн
58
Если требуется, значит что-то не то в коде. Просто поверьте и примите как данность 
Офлайн
33
Ну или фишечку смотри:
from itertools import chain >>> i = chain(*lst) >>> for elem in i: ... if elem == 3: ... break
Офлайн
0
Я не могу взяться за один язык потому что у меня клиент серверный проект, а nodejs я не хочу сейчас трогать. Я устал от javascriptа на клиенте. Python очень хороший язык, жаль что нет достаточного времени чобы сначала побольше почитать о питон и только потом что-то на нем писать.
Офлайн
6
Да я знаю, про неправильность использования глобальных переменных, но иногда нужно вытягивать значения из 2го цикла на верх, приходится думать или вкладываем в еще в цикл функции или по быстрому в глобал бросить.
Офлайн
0
Budulianinспасибо, это уже интереснее
Ну или фишечку смотри
Офлайн
33
def check_black_count(self, extra_data): for elem in chain(*self.field): if elem == 1: break else: extra_data['win'] = True
Отредактировано Budulianin (Сен. 28, 2014 02:01:33)
Офлайн
857
indef checkBlackCount(self, extraData): countFlag = False for i in range(11): for j in range(11): figure = self.field[i][j] if figure == 1: countFlag = True if countFlag == False: extraData['win'] = True
def checkBlackCount (self, extraData): countFlag = False try: for i in range(11): for j in range(11): figure = self.field[i][j] if figure == 1: countFlag = True raise StopIteration except StopIteration: pass if countFlag == False: extraData['win'] = True
BudulianinТам есть itertools.chain.from_iterable()
Ну или фишечку смотри:
>>> import itertools >>> ch = itertools.chain.from_iterable([[1, 2, 3], [4, 5, 6]]) >>> for i in ch: ... print(i) ... 1 2 3 4 5 6 >>>
Отредактировано py.user.next (Сен. 28, 2014 02:16:57)
Офлайн