Существует код, который просматривает веб-страницы и находит статьи о python и отображает их имена и ссылки.
Проблема в том, что если / еще, если для разделения используются табуляция и точка с запятой, то все работает. Но если вы напишите if / else в одной строке, а оператор continue будет телом для else, то это не сработает, ссылаясь на синтаксическую ошибку.
SyntaxError: неверный синтаксис
def habr_python_articles():
pageid = 1
headline_link_dict = {
}
for pageid in range(1, 10):
url = 'https://habr.com/en/all/page%d/' % pageid
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for headline_tag in soup.findAll('a', {'class': 'post__title_link'}):
result = str(headline_tag.contents).lower().find('python')
# TODO if else continue one line statement
#print(str(headline_tag.contents) + '\n\t' + headline_tag['href']) if result > 0 else continue
if result > 0:
headline_link_dict[str(headline_tag.contents)] = headline_tag['href']
else:
continue
return headline_link_dict
Хотя, если вместо продолжения написать что-то еще, например, напечатать что-нибудь или математическое действие, то все работает. Я что-то упускаю или мне нужно запомнить и оставить?