Подсчет строк из нескольких файлов (Newsfeed Activity) - PullRequest
0 голосов
/ 25 мая 2018

Моя программа предназначена для печати топовых n пользователей, которые видели больше всего "твитов" и сколько их увидели бы.Видимый твит определяется как твит, полученный от пользователя, за которым он следует, когда он упоминается (@user) в твите, DM или как автор ретвитнутых твитов.

Использование фиктивного файла (follow.txt):

andrew fred
fred
judy andrew fred
george judy andrew
john george

Первое слово, являющееся пользователем, с остальными словами в строке, обозначающими людей, за которыми они следуют

Фрагмент кода, используемого для определения того, за кем следует каждый пользователь:

for line in lines:
    names = line.split()
    follow_dict[names[0]] = len(names)-1
    if max_follower < len(names)-1:
        max_follower = len(names)-1

Используя второй файл-заглушку (stream.txt), показано общее действие:

andrew I hate mondays.
fred Python is cool.
fred Ko Ko Bop Ko Ko Bop Ko Ko Bop for ever
andrew @fred no it isn't, what do you think @john???
judy @fred enough with the k-pop
judy RT @fred Python is cool.
andrew RT @judy @fred enough with the k pop
george RT @fred Python is cool.
andrew DM @john Oops
john DM @andrew Who are you go away! Do you know him, @judy?

Пример вывода кода должен быть:

Enter n: 10
6 judy
5 fred george
3 andrew john

Обычно, если бы я попросил помощи здесь, у меня был бы хотя бы какой-то код, показывающий, что это работает, но не полностью так, как задумано или с ошибками.На этот раз я даже не знаю с чего начать.Если есть кто-нибудь, кто может мне помочь, я был бы очень благодарен.

1 Ответ

0 голосов
/ 25 мая 2018

Я думаю, что вы можете решить это таким образом (исходя из каждого пользователя и посчитать твиты, которые они видят), но это слишком неэффективно (это не может быть так, как это делает твиттер).вот еще один способ:

  1. сделать обратный дикт подписчиков: для каждого пользователя, который следует за ней
  2. один и тот же дикт может хранить количество твитов, просмотренных каждым пользователем
  3. для каждого твита обновите счет
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...