Как найти сумму цикла for в BeautifulSoup - PullRequest
0 голосов
/ 27 октября 2019

Пожалуйста, проверьте мой код здесь: Пример URL: http://py4e -data.dr-chuck.net / comments_42.html Сумма цифр, найденных в следующем URL, должна быть (2553). Я должен попытаться подвести итог, используя несколько технологий, но не могу найти правильный, используя URL-адрес в верхней части кода. Мне нужно суммировать числа строк.

import urllib
from urllib.request import urlopen
from bs4 import BeautifulSoup
import ssl

# Ignore SSL certificate errors
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

# To read the file from the url
url = input('Enter - ')
html = urllib.request.urlopen(url, context=ctx).read()
soup = BeautifulSoup(html, "html.parser")

# To search for specific area of the file
tags = soup('span')
#print(tags)
sum = 0

# Filters your search further and prints the specific part as                     
#string
for tag in tags:
    print(tag.contents[0])
    #ChangeToInt = int(tag.contents[0])
    #sum =+ ChangeToInt
    #print(sum)

Ответы [ 2 ]

1 голос
/ 27 октября 2019

несколько указателей, sum - это встроенный метод python для суммирования списков чисел, поэтому лучше не использовать его в качестве имени переменной. также синтаксис для добавления в переменную +=, но в вашем коде у вас есть =+. Ваш код работает только с изменением этого синтаксиса (я также обновил имя переменной с суммы на сумму и напечатал только сумму после цикла.

total = 0
for tag in tags:
    print(tag.contents[0])
    ChangeToInt = int(tag.contents[0])
    total += ChangeToInt
print(total)

В качестве альтернативы вы можете написать это, используя метод суммы питонов ипонимание списка для генерации чисел.

total = sum([int(tag.contents[0]) for tag in tags])
print(total)

дополнительно вы можете проверить этот вопрос на разницу между += и =+

0 голосов
/ 27 октября 2019

У вас просто неверный синтаксис приращения:

sum =+ ChangeToInt

вместо этого должно быть:

sum += ChangeToInt

Ваш код работал нормально для меня после того, как я это исправил.

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