Sua tarefa é escrever um arquivo que contenha uma linha com muitas violações do pep8 .
As regras:
- Usamos o pep8 versão 1.5.7 e as configurações padrão.
- Chamar pep8 com outras opções de linha de comando ou usar um arquivo rc personalizado não é permitido.
- Comprimento máximo da linha 120 caracteres. Você pode violar o E501, com certeza, mas a linha na qual sua pontuação é calculada deve ser <= 120 caracteres.
- Seu módulo pode ter outras linhas antes ou depois, mas apenas uma linha contribui para sua pontuação.
- Seu arquivo pode conter SyntaxErrors ou qualquer tipo de lixo, não precisa importar ou executar.
Exemplo de pontuação:
O módulo a seguir thing.py
tem uma pontuação 2, porque contém uma linha (linha 1) com 2 violações do pep8.
spam='potato'
Para verificar uma pontuação:
~$ mktmpenv
(tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ pip install pep8==1.5.7
(tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ echo -n "spam='potato'" > thing.py
(tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ pep8 thing.py
thing.py:1:5: E225 missing whitespace around operator
thing.py:1:14: W292 no newline at end of file
Respostas:
241
se você quiser mais erros, enlouqueça com ponto e vírgula
a maioria dos erros são:
com aqueles erros no final:
fonte
123
Sim, mais violações que personagens!
O truque é que um
=
após um(
faz com que o pep pense que você está fazendo uma palavra-chave em uma chamada de função (por exemplofoo(bar=12)
). Nesse contexto, fazer[TAB]=
dispara ambosE fazer
=[TAB]
dispara ambosFelizmente, você pode simplesmente encadeá-los.
Isso fornece uma contagem de violações de uma por personagem. Preciso
(
configurá-lo, mas não fornecer o que)
nos fornece:Isso é 120. Nenhuma nova linha = 121. Ele conseguiu acionar o erro "linha muito longa", então isso é 122. Finalmente, usar um caractere para começar com um espaço (obrigado eric_lagergren ) causa 2 violações em vez de 1:
Vitória!
fonte
z
e você terminará com 103 ... mas sempre que copio esse código, recebo 83 em vez de 102. Acho que o espaçamento está ficando confuso.