В текстовом документе text.txt содержится пьеса Гроза А. Н. Островского. Пьеса состоит из 5 действий, каждое из которых

  • 16
В текстовом документе "text.txt" содержится пьеса "Гроза" А. Н. Островского. Пьеса состоит из 5 действий, каждое из которых состоит из явлений, обозначенных как "Явление первое" и т. д. (Обратитесь к тексту, чтобы найти примеры и использовать их в решении задачи). В соответствии с примером в лекции, реплики персонажей выделены двоеточием после их имени. Ваше задание состоит в написании функции, которая определит, встречаются ли указанные персонажи в рамках одного явления. На вход функции подаются две строки с именами персонажей. Ваша программа должна выводить 1, если персонажи встречаются в рамках одного явления, и 0 в противном случае.
Plamennyy_Zmey
67
в рамках одного явления, и 0 в противном случае.

Для начала, вам нужно открыть текстовый файл "text.txt" и прочитать его содержимое. Это можно сделать с помощью функции `open()` и метода `read()`:

python
def check_characters(character1, character2):
with open("text.txt", "r", encoding="utf-8") as file:
text = file.read()


Затем, нам нужно разделить текст на отдельные явления. Явления обозначены как "Явление первое", "Явление второе" и т.д. Для этого, нам понадобится использовать метод `split()`:

python
def check_characters(character1, character2):
with open("text.txt", "r", encoding="utf-8") as file:
text = file.read()

acts = text.split("Явление")


Теперь у нас есть список, в котором каждый элемент представляет отдельное явление. Мы можем пройти по каждому явлению и проверить, содержит ли оно указанных персонажей. Для этого, мы можем использовать условные операторы и метод `count()`:

python
def check_characters(character1, character2):
with open("text.txt", "r", encoding="utf-8") as file:
text = file.read()

acts = text.split("Явление")

for act in acts:
if character1 in act and character2 in act:
return 1

return 0


Теперь функция `check_characters()` проверяет, встречаются ли указанные персонажи в рамках одного явления и возвращает 1, если это так, и 0 в противном случае.

Пример использования функции:

python
character1 = "Иван"
character2 = "Катерина"

result = check_characters(character1, character2)
print(result)


Пожалуйста, обратите внимание, что данное решение предполагает, что имена персонажей в текстовом файле точно совпадают с именами, которые вы передаете в функцию. Вам также может понадобиться выполнить некоторую предварительную обработку текста или учесть другие условия, если они присутствуют в вашей задаче.