Python:为什么if-else oneline语句在else中不能继续使用?

问题描述 投票:-1回答:1

有一个代码,它可以在网络上抓取并查找有关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

尽管,如果不是继续写其他东西,例如打印一些东西或进行数学运算,则一切正常。是否有我遗漏的东西,还是我需要记住并离开的东西?

[有一个代码可以在网上抓取并找到有关python的文章,并显示其名称和链接。问题是如果/否则,如果使用制表符和分号分隔,则一切正常。但是...

python if-statement continue
1个回答
0
投票

因为continue是语句,而不是表达式。

© www.soinside.com 2019 - 2024. All rights reserved.