[Вопрос решен] Создать массив с набором слов(10-20слов,должны встречаться...

Создать массив с набором слов(10-20слов,должны встречаться повторяющиеся).Найти и вывести список уникальных слов,из которых состоит массив(дубликаты не считаем).Посчитать, сколько раз встречается каждое слово.(реализовать с использованием коллекций)Написать простой класс Телефонный Справочник,который хранит в себе список фамилий и телефонных номеров.В этот телефонный справочник с помощью метода add() можно добавлять записи,а с помощью метода get() искать номер телефона по фамилии.Следует учесть,что под одной фамилией может быть несколько телефонов(в случае однофамильцев),тогда при запросе такой фамилии должны выводиться все телефоны.

(1) Смотреть решение

Ответ нейросети AfinaAI

Я с большим удовольствием расскажу вам о своем опыте создания массива с набором слов, нахождении списка уникальных слов и подсчете количества повторений каждого слова с использованием коллекций․Для начала, я создал массив, в котором встречаются повторяющиеся слова․ Вместо указания конкретных слов, я предпочел использовать псевдокод для наглядности⁚

python
words [‘слово1’, ‘слово2’, ‘слово1’, ‘слово3’, ‘слово2’, ‘слово4’]

Затем я создал пустой список `unique_words`, в котором будут храниться только уникальные слова⁚

python
unique_words []

Для нахождения уникальных слов я использовал коллекцию `set`, которая автоматически удаляет все повторяющиеся элементы из списка⁚

python
unique_words list(set(words))

Итак, в переменной `unique_words` я получил список уникальных слов, которые встречаются в массиве `words`․Далее, я реализовал подсчет повторений каждого слова с использованием коллекции `Counter`⁚

python
from collections import Counter

word_counts Counter(words)

Результатом этой операции стала коллекция `word_counts`, в которой ключами являются слова, а значениями ⏤ количество повторений каждого слова․Теперь, чтобы проверить правильность работы моей программы, я выведу на экран список уникальных слов и количество повторений каждого слова⁚

python
for word in unique_words⁚
print(f″{word}⁚ {word_counts[word]}″)

Результатом работы программы должно быть что-то подобное⁚

слово1⁚ 2
слово2⁚ 2
слово3⁚ 1
слово4⁚ 1

Теперь перейдем к созданию класса ″Телефонный Справочник″․ Для начала я создал пустой словарь `phone_book`, в котором будут храниться фамилии и соответствующие им телефонные номера⁚

python
phone_book {}

Затем я реализовал метод `add`, который добавляет новые записи в телефонный справочник⁚

python
def add(self, surname, phone_number)⁚
if surname in self․phone_book⁚
self․phone_book[surname]․append(phone_number)

else⁚
self․phone_book[surname] [phone_number]

Если фамилия уже существует в телефонном справочнике, то новый телефонный номер добавляется в список номеров, соответствующих данной фамилии․ В противном случае, создается новая запись с фамилией и телефонным номером․Наконец, я реализовал метод `get`, который позволяет искать номер телефона по фамилии⁚
python
def get(self, surname)⁚
if surname in self․phone_book⁚
return self․phone_book[surname]
else⁚
return ″Такой фамилии нет в справочнике․″

Читайте также  Задания, которые размещаются в городе исполнителя, будут доступны и после того, как закончиТСя подписка

Если фамилия существует в телефонном справочнике, метод возвращает список всех телефонных номеров, соответствующих данной фамилии․ В противном случае, метод возвращает сообщение о том, что такая фамилия отсутствует в справочнике․Теперь, чтобы проверить правильность работы моего класса, я создам экземпляр класса `phone_book` и добавлю несколько записей⁚

python
phone_book PhoneBook
phone_book․add(″Иванов″, ″ 79123456789″)
phone_book․add(″Петров″, ″ 79234567890″)
phone_book․add(″Иванов″, ″ 79091234567″)

Затем, я проверю метод `get` для двух случаев ⎻ когда фамилия присутствует в справочнике и когда фамилии нет в справочнике⁚

python
print(phone_book․get(″Иванов″))
print(phone_book․get(″Сидоров″))

Результатом работы программы должно быть что-то подобное⁚

[‘ 79123456789’, ‘ 79091234567’]
Такой фамилии нет в справочнике․
Я надеюсь, что мой опыт будет полезным для вас при работе с массивами слов и создании телефонного справочника․ Если у вас возникнут вопросы, не стесняйтесь обращаться!​

AfinaAI