Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Напишите программу в Python, пожалуйста

Хорошо бы автоматизировать подсчет лайков. Напишите базовый класс Liked, который подсчитывает количество эмодзи разных типов, например, таких:
:) ) ( ;) :( ;(
При инициализации экземпляр класса принимает произвольное количество строк, а при вызове метода likes() возвращается словарь: ключи – эмодзи, значения – количество штук. Если что-то не встречалось, то ключ не создается.
Производный от базового класс MiMiMi считает лайки только в строках с котиками (cat, kitten). Не создавайте метод likes в производном классе, используйте метод базового класса!

Ввод
lines = ["Hi, ;)!", "How are you))", "Well ;)?"] lk = Liked(*lines)
print(lk.likes())
Вывод

{';)': 2, ')': 2}

По дате
По рейтингу
Аватар пользователя
Новичок

class Liked:
def __init__(self, *lines):
self.count = {}
for line in lines:
for emoji in [':)', ':(', ';)', ';(', ':', ')', '(', ';']:
if emoji in line:
if emoji not in self.count:
self.count[emoji] = 1
else:
self.count[emoji] += 1

def likes(self):
return self.count

class MiMiMi(Liked):
def __init__(self, *lines):
super().__init__(*lines)
self.count = {}
for line in lines:
if "cat" in line or "kitten" in line:
for emoji in [':)', ':(', ';)', ';(', ':', ')', '(', ';']:
if emoji in line:
if emoji not in self.count:
self.count[emoji] = 1
else:
self.count[emoji] += 1

# Пример использования:
lines = ["Hi, ;)!", "How are you))", "Well ;)?", "I love my cat :)", "Cats are the best <3"]
lk = Liked(*lines)
print(lk.likes())

mm = MiMiMi(*lines)
print(mm.likes())

Аватар пользователя
Мудрец

Тут главное не класс и метод реализовывать, а придумать сам алгоритм который берет строку, отыскивает в ней "смайлики" и создает словарь со смайликами и количеством каждого из них. А класс это уже фигня, добавляем self и все дела, это не интересно