Как не печатать строку (а не печатать 0), если она не удовлетворяет условию if - Python - PullRequest
0 голосов
/ 05 июня 2018

Я хочу распечатать количество строк и количество хэштегов, только если строка начинается с «RT» И в ней есть хотя бы 1 хэштег.В данный момент мой код напечатает строку, если она начинается с «RT», но даст 0 для счетчика хэштегов, равного 0. Однако я не хочу, чтобы он печатал строку вообще.т.е. не должно быть строк кода, которые выводятся как "49: 0"

ПОЖАЛУЙСТА, ПОМОГИТЕ - чувствую, что я почти на месте, но мне нужно добавить еще немного кода во второй цикл for.

hashtag_count = 0
line_count = 0

for line in open("tweets.txt"):
    line_split = line.split()
    hashtag_count = 0
    if line.startswith("RT "):
        for word in line_split:
            if "#" in word:
                hashtag_count += 1
        print(str(line_count) + " : " + str(hashtag_count))
    line_count += 1

Ответы [ 3 ]

0 голосов
/ 05 июня 2018
if hashtag_count:
    print(str(line_count) + " : " + str(hashtag_count))

PS

RT

Россия сегодня?: -О

0 голосов
/ 05 июня 2018

Может быть, я что-то упустил, но почему вы перебираете слова?Если вам просто нужно напечатать только номер строки с # count для этих строк, начинающихся с 'RT', попробуйте следующее:

with open("tweets.txt") as f:
    for line_number, line in enumerate(f, 1):
        if line.startswith('RT'):
            hash_count = line.count('#')
            print("{} : {}".format(line_number, hash_count))
0 голосов
/ 05 июня 2018

Вы сбросили значение hashtag_count в цикле, удалите этот оператор

hashtag_count = 0
line_count = 0
for line in open("tweets.txt"):
  line_strip = line.strip()
  line_split = line_strip.split()
  hashtag_count = 0 #Remove this line  <----------------------------
  if line_strip.startswith("RT "):
    for word in line_split
      if word.startswith("#"):
        hashtag_count += 1
    print(str(line_count) + " : " + str(hashtag_count))
  line_count += 1

После удаления он вернет число hashtag_count правильно.

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