Создать классы для объектов, описанных ниже. Включить в классы методы установки (...), получения (...), и отображения

  • 23
Создать классы для объектов, описанных ниже. Включить в классы методы установки (...), получения (...), и отображения (...). Определить другие методы. Объект: слово, номера страниц, на которых слово встречается, число страниц. Вывести: а) список слов, встречающихся на более чем n страницах.
Cherepashka_Nindzya
44
Хорошо, давайте начнем решение задачи.

Для решения задачи, мы создадим класс "Word", который будет представлять каждое слово, и класс "Book", который будет представлять каждую книгу.

Класс "Word" будет содержать следующие атрибуты:
- "word" (слово)
- "pages" (список номеров страниц, на которых слово встречается)

Класс "Book" будет содержать следующие атрибуты:
- "words" (словарь, где ключом является каждое уникальное слово, а значением - список номеров страниц, на которых это слово встречается)
- "num_pages" (число страниц в книге)

Классы будут иметь методы для установки, получения и отображения данных.

Вот решение задачи на языке Python:

python
class Word:
def __init__(self, word):
self.word = word
self.pages = []

def add_page(self, page):
self.pages.append(page)

def get_pages(self):
return self.pages

def display(self):
print(f"Слово: {self.word}")
print(f"Номера страниц: {self.pages}")


class Book:
def __init__(self, num_pages):
self.words = {}
self.num_pages = num_pages

def add_word(self, word, page):
if word not in self.words:
self.words[word] = []
self.words[word].append(page)

def get_words_on_pages(self, n):
result = []
for word, pages in self.words.items():
if len(pages) > n:
result.append(word)
return result

def display(self):
for word, pages in self.words.items():
print(f"Слово: {word}")
print(f"Номера страниц: {pages}")


# Создаем объекты и тестируем их работу
book = Book(100)

word1 = Word("программирование")
word1.add_page(5)
word1.add_page(10)
book.add_word(word1.word, word1.get_pages())

word2 = Word("математика")
word2.add_page(50)
word2.add_page(75)
word2.add_page(90)
book.add_word(word2.word, word2.get_pages())

word3 = Word("русский")
word3.add_page(30)
word3.add_page(40)
word3.add_page(80)
word3.add_page(100)
book.add_word(word3.word, word3.get_pages())

# Отображаем список слов, встречающихся на более чем n страницах
n = 1
words_on_pages = book.get_words_on_pages(n)
print(f"Список слов, встречающихся на более чем {n} странице:")
for word in words_on_pages:
print(word)


Это пример решения задачи на языке Python, который создает классы для объектов "Word" и "Book" и реализует методы для установки, получения и отображения данных. В конце приведен пример использования этих классов для вывода списка слов, встречающихся на более чем n страницах. Вы можете изменить значения атрибутов и добавить свои собственные данные для тестирования.