python 无法通过不合逻辑的行pep8错误

okxuctiv  于 2023-04-04  发布在  Python
关注(0)|答案(3)|浏览(159)

我已经尝试修复这个问题有一段时间了,我只是不能让它通过pep8。下面是我的代码:
1.

if (len(regex) > 2 and regex[0] == '(' and regex[-1] == ')' and 
    sum(regex.count(char) for char in splitter) == 1 and 
    regex.count('(') == 1 and regex.count(')') == 1):

    print('hi')
if (len(regex) > 2 and regex[0] == '(' and regex[-1] == ')' and 
    sum(regex.count(char) for char in splitter) == 1 and 
    regex.count('(') == 1 and regex.count(')') == 1):

    print('hi')
if (len(regex) > 2 and regex[0] == '(' and regex[-1] == ')' 
    and regex.count('(') > 1):
        
    print('hi')

我在3个if语句中的每一个上都得到以下PEP8错误:

E125 continuation line does not distinguish itself from next logical line

有什么问题吗?行缩进括号,所以我真的没有任何线索。

g0czyy6m

g0czyy6m1#

if (len(regex) > 2 and regex[0] == '(' and regex[-1] == ')' and
        sum(regex.count(char) for char in splitter) == 1 and
        regex.count('(') == 1 and regex.count(')') == 1):

    print('hi')
if (len(regex) > 2 and regex[0] == '(' and regex[-1] == ')' and
        sum(regex.count(char) for char in splitter) == 1 and
        regex.count('(') == 1 and regex.count(')') == 1):

    print('hi')
if (len(regex) > 2 and regex[0] == '(' and regex[-1] == ')'
        and regex.count('(') > 1):

    print('hi')
nhaq1z21

nhaq1z212#

我正在使用PyCharm(这对于指出PEP8错误非常好)进行编辑,它说这个版本是可以的:

if (len(regex) > 2 and regex[0] == '(' and regex[-1] == ')' and
        sum(regex.count(char) for char in splitter) == 1 and
        regex.count('(') == 1 and regex.count(')') == 1):

    print('hi')
z9ju0rcb

z9ju0rcb3#

我不是说我喜欢这个解决方案,但我认为删除if后面的空格比将第二行与len调用的内容对齐要少,就像这里的其他答案建议的那样:

if(len(regex) > 2 and regex[0] == '(' and regex[-1] == ')' and
   sum(regex.count(char) for char in splitter) == 1 and
   regex.count('(') == 1 and regex.count(')') == 1):

    print('hi')

相关问题