Форум сайта python.su
None
Отредактировано Pes (Июль 27, 2021 11:56:24)
Офлайн
Сделай переменную состояния. У неё будет несколько возможных значений.
Начальное состояние “строка не встретилась”, в котором строки просто отбрасываются и проверяются на слово “Москва”. Если слово “Москва” встретилось, то нужно перевести переменную во второе состояние.
Второе состояние “строка встретилась”, которое означает, что строка со словом “Москва” найдена и тоже отброшена, а следующие строки сохраняются. Когда нужные строки выбраны, нужно перевести переменную в третье состояние.
Третье состояние “строки выбраны”, в котором все строки просто отбрасываются без всяких поисков, либо сразу происходит выход из цикла.
Офлайн
py.user.next
Сделай переменную состояния. У неё будет несколько возможных значений. Начальное состояние “строка не встретилась”, в котором строки просто отбрасываются и проверяются на слово “Москва”. Если слово “Москва” встретилось, то нужно перевести переменную во второе состояние.Второе состояние “строка встретилась”, которое означает, что строка со словом “Москва” найдена и тоже отброшена, а следующие строки сохраняются. Когда нужные строки выбраны, нужно перевести переменную в третье состояние.Третье состояние “строки выбраны”, в котором все строки просто отбрасываются без всяких поисков, либо сразу происходит выход из цикла.
Офлайн
>>> text = """\ ... Abc abc 1 ... Def def 1 ... Ghi ghi 1 ... Москва город ... Эту сохраняем 1 ... Эту сохраняем 2 ... Эту сохраняем 3 ... Abc abc 2 ... Def def 2 ... Ghi ghi 2 ... Москва город ... Abc abc 3 ... Def def 3 ... Ghi ghi 3 ... """ >>> >>> word = 'Москва' >>> >>> out = [] >>> state = 0 >>> n = 0 >>> for line in text.splitlines(): ... if state == 0: ... if word in line: ... state = 1 ... n = 0 ... elif state == 1: ... n += 1 ... if n <= 3: ... out.append(line) ... else: ... state = 2 ... elif state == 2: ... break ... >>> out ['Эту сохраняем 1', 'Эту сохраняем 2', 'Эту сохраняем 3'] >>>
Отредактировано py.user.next (Авг. 19, 2018 14:52:52)
Офлайн
Огогошеньки….. огромная, огромная благодарочка)))) Спасиб!
Офлайн