Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 14.06.2019
Сообщений: 2
1

Открыть текстовый файл, и удалить все слова, между которыми не стоит буква 'i'

14.06.2019, 23:55. Просмотров 1066. Ответов 3


Помогите решить задачу:
Нужно открыть текстовый файл, и удалить все слова, между которыми не стоит буква 'i' (включая удаление и самой 'i').

К примеру:
Nuzhno otkryt tekstovyy fayl i udalit vse slova => fayl udalit

Зарение спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2019, 23:55
Ответы с готовыми решениями:

Удаление из слова всех букв «р», перед которыми стоит буква «а»
надо написать код. Дано условие: Напишите программу для вычеркивания из данного слова всех букв...

Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла
Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все...

Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся этой буквой
Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все...

Открыть текстовый файл, и удалить в нем все буквы и
Вообщем нужно открыть текстовый файл, и удалить в нем все буквы и. открываю файл с указателем на...

3
Супер-модератор
Эксперт PythonЭксперт Java
7357 / 3977 / 1487
Регистрация: 21.10.2017
Сообщений: 11,255
15.06.2019, 07:37 2
Решение лобовое и немного косячное (например, последовательность "sdds i sdds i dsdsd" создаст дубликаты)...
Python
1
2
3
4
5
6
7
with open('input.txt', 'r') as f:
    s = f.read().split()
    result = []
    for i in range(1, len(s) - 1):
        if s[i] == 'i':
            result.extend([s[i - 1], s[i + 1]])
print(' '.join(result))
0
Просто Лис
Эксперт Python
4246 / 2656 / 911
Регистрация: 17.05.2012
Сообщений: 7,916
Записей в блоге: 9
15.06.2019, 09:35 3
Лучший ответ Сообщение было отмечено T1234 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def fu(s):
    ls = s.split(' ')
    flags = [False for _ in range(len(ls))]
    for i in range(1, len(ls) - 1):
        # print(ls[i - 1], ls[i], ls[i + 1])
        if ls[i] == 'i':
            flags[i - 1] = True
            flags[i] = True
            flags[i + 1] = True
    return ' '.join(v for v, f in zip(ls, flags) if f)
 
print(fu('Nuzhno otkryt tekstovyy fayl i udalit vse slova'))
print(fu('sdds i sdds i dsdsd'))
1
74 / 29 / 4
Регистрация: 16.10.2017
Сообщений: 95
15.06.2019, 11:38 4
Python
1
2
3
import re
s = 'Nuzhno otkryt tekstovyy fayl i udalit vse slova sdds i sdds i dsdsd'
print(' '.join(re.findall(r'(?:\b\w+\s+i\s+\w+\b|(?<=\w\s)\s*i\s+\w+\b)',s)))
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2019, 11:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Обработать текстовый файл: удалить пробелы между знаком препинания и окончанием слова
Нужна помощь, пропустил пару и теперь въехать не могу как алгоритм составить. 1.Обработать...

Удалить из текста все буквы b, непосредственно перед которыми находится буква c
напечатайте заданный непустой текст удалив из него все буквы b, непосредственно перед которыми...

Удалить из текста все буквы b, непосредственно перед которыми находится буква с
Напечатайте заданный непустой текст, удалив из него все буквы b, непосредственно перед которыми...

Удалить из текста все буквы ‘b’, непосредственно перед которыми идет буква ’c’.
Удалить из текста все буквы ‘b’, непосредственно перед которыми идет буква ’c’.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.