Помогите, пожалуйста

ks1891

Новичок
Пользователь
Янв 15, 2021
41
0
6
1613907895448.png
Здравствуйте!
Перепробовал кучу вариантов, не могу понять, с каким вводом не работает программа. Проходит тест только с одним вариантом. Вроде, все условия учёл
Python:
title = input()
text = []
sent = ""

with open("review.txt", "r", encoding="utf-8") as infile:
    for line in infile:
        sent = line.strip()
        text.append(sent.split())

    for i in range(len(text)):
        for index in range(len(text[i])):
            if title in text[i][index]:
                text[i][index] = f'"{title}"'
               
with open("review_correct.txt", "w", encoding="utf-8") as outfile:
    for line in text:
        print(" ".join(line), file=outfile)
л.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
попробуйте так
Python:
title = input()
text = []

with open('review.txt', 'r', encoding='utf-8') as f:
    text += f.readlines()

for index, value in enumerate(text):
    text[index] = value.replace(title, f'"{title}"')

with open('review_correct.txt', 'w', encoding='utf-8') as f:
    f.writelines(text)
 
Последнее редактирование:
  • Мне нравится
Реакции: ks1891

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
попробуйте так
Python:
title = input()

with open('review.txt', 'r', encoding='utf-8') as f:
    text = f.readline().split()

for i in text:
    if title == i:
        text[text.index(title)] = '"' + title + '"'

with open('review_correct.txt', 'w', encoding='utf-8') as f:
    f.write(' '.join(text))
 

ks1891

Новичок
Пользователь
Янв 15, 2021
41
0
6
попробуйте так
Python:
title = input()

with open('review.txt', 'r', encoding='utf-8') as f:
    text = f.readline().split()

for i in text:
    if title == i:
        text[text.index(title)] = '"' + title + '"'

with open('review_correct.txt', 'w', encoding='utf-8') as f:
    f.write(' '.join(text))
не(
Он записывает и выводит только одну строку из текста
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
скиньте исходный файл с текстом
 
Последнее редактирование:

ks1891

Новичок
Пользователь
Янв 15, 2021
41
0
6
скиньте исходный файл с текстом
 

Вложения

  • review.txt
    3,8 КБ · Просмотры: 2

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
а конечный файл должен быть с такой же разметкой, как и исходный?
если нет, то вот так
Python:
title = input()
text = []

with open('review.txt', 'r', encoding='utf-8') as f:
    for i in f:
        text += i.split()

for i in text:
    if title == i:
        text[text.index(title)] = '"' + title + '"'

with open('review_correct.txt', 'w', encoding='utf-8') as f:
    f.write(' '.join(text))
 

ks1891

Новичок
Пользователь
Янв 15, 2021
41
0
6
а конечный файл должен быть с такой же разметкой, как и исходный?
если нет, то вот так
Python:
title = input()
text = []

with open('review.txt', 'r', encoding='utf-8') as f:
    for i in f:
        text += i.split()

for i in text:
    if title == i:
        text[text.index(title)] = '"' + title + '"'

with open('review_correct.txt', 'w', encoding='utf-8') as f:
    f.write(' '.join(text))
С такой же. Вот предполагаемый вывод.
У меня получилось сохранить разметку, но с некоторыми текстами все-равно не работает.

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

Вложения

  • review_correct.txt
    3,8 КБ · Просмотры: 1

ks1891

Новичок
Пользователь
Янв 15, 2021
41
0
6
попробуйте так
Python:
title = input()
text = []

with open('review.txt', 'r', encoding='utf-8') as f:
    text += f.readlines()

for index, value in enumerate(text):
    text[index] = value.replace(title, f'"{title}"')

with open('review_correct.txt', 'w', encoding='utf-8') as f:
    f.writelines(text)
Ура! Спасибо)
 

Форум IT Специалистов