Python:flake8_E501_E128_E125

if((letters[k] > 'a' and letters[k] < 'z')or(letters[k] > 'A' and letters[k] < 'Z')):

今天在做密码学的作业的时候 最开始是这样写的,但是报错是

line too long(89 >79 characters)flake8(E501)

Flake8是啥?

Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,相对于目前热度比较高的Pylint来说,Flake8检查规则灵活,支持集成额外插件,扩展性强。Flake8是对下面三个工具的封装:

1)PyFlakes:静态检查Python代码逻辑错误的工具。

2)Pep8: 静态检查PEP8编码风格的工具。

3)NedBatchelder’s McCabe script:静态分析Python代码复杂度的工具。

不光对以上三个工具的封装,Flake8还提供了扩展的开发接口。

----------------------------------------------------------------------(引:https://www.cnblogs.com/zhangningyang/p/8692546.html

所以我出的这个问题是因为flake8的检验下,我在同一行里面写了太多内容,不符合代码规范。

于是我就把它分成两行试一下

 if((letters[k] > 'a' and letters[k] < 'z')or
 (letters[k] > 'A' and letters[k] < 'Z')):
        order2[k] = cnt
        order = ord(letters[k]) - 97     
        num[order] = num[order] + 1     
        cnt = cnt + 1

error并没有消失,而是换成了另外一个

continuation line under-indented for visual indent flake8(E128)

这是什么原因呢,查找了一下发现是因为虽然换行了,但是换下来的一行没有缩进。于是我就缩进了一下:

if((letters[k] > 'a' and letters[k] < 'z')or
        (letters[k] > 'A' and letters[k] < 'Z')):
        order2[k] = cnt
        order = ord(letters[k]) - 97     
        num[order] = num[order] + 1     
        cnt = cnt + 1

然而,又出现了另外一个错误:

continuation line with same indent as next logical line flake8(E125)

我可能是非得见到所有错误吧。。。。。

这次的错误原因是,if后面的内容被我分开成两行,其中第二行和if对应的内容语句缩进成了一样的。

在这时候我看到了SO的这一个问题,豁然开朗

http://stackoverflow.com/questions/15435811/what-is-pep8s-e128-continuation-line-under-indented-for-visual-indent/15435837/

改成这样就对了,要括号和括号对齐。

    if((letters[k] > 'a' and letters[k] < 'z')or
       (letters[k] > 'A' and letters[k] < 'Z')):
        order2[k] = cnt
        order = ord(letters[k]) - 97     
        num[order] = num[order] + 1     
        cnt = cnt + 1

PS:还有一个也是因为太长了所以除了error 不过我没搞懂为什么。。。

if (order2[p] % 6 == 0):
        test = (ord('x') - 97 - 97) % 26 + 97   

报错是在下面的那一行(明明都不长!!)

不过我还是改了o(´^`)o

这个地方因为没有and,or一类的连接词,所以改成了

 if (order2[p] % 6 == 0):
        test = (ord('x') - 97 - 97) \
            % 26 + 97   

加一个‘ \’,还要注意前面有空格呀。

PPS:希望能对看到这的你有帮助ᕦ(・ㅂ・)ᕤ,因为我自己搞了很久还是很烦的....不过万一有什么错误的话请多多包涵,毕竟我很菜...(๑′ᴗ‵๑)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值