Tugas Anda adalah menulis file yang berisi baris dengan banyak pelanggaran pep8 .
Aturan:
- Kami menggunakan pep8 versi 1.5.7 dan pengaturan default.
- Memanggil pep8 dengan opsi baris perintah lainnya atau menggunakan file rc khusus tidak diperbolehkan.
- Panjang garis maksimum 120 karakter. Anda dapat melanggar E501, tentu saja, tetapi garis di mana skor Anda dihitung harus <= 120 karakter.
- Modul Anda dapat memiliki baris lain sebelum atau sesudah, tetapi hanya satu baris yang berkontribusi pada skor Anda.
- File Anda dapat mengandung SyntaxErrors atau segala jenis sampah, tidak perlu diimpor atau dijalankan.
Contoh penilaian:
Modul berikut thing.py
memiliki skor 2, karena berisi garis (baris 1) dengan 2 pelanggaran pep8.
spam='potato'
Untuk memeriksa skor:
~$ 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
Jawaban:
241
jika Anda menginginkan kesalahan terbanyak, gila dengan titik koma
sebagian besar kesalahan adalah:
dengan kesalahan tersebut di akhir:
sumber
123
Ya, lebih banyak pelanggaran daripada karakter!
Triknya adalah
=
setelah(
membuat orang berpikir Anda melakukan kata kunci dalam panggilan fungsi (misfoo(bar=12)
.). Dalam konteks ini, melakukan[TAB]=
memicu keduanyaDan melakukan
=[TAB]
memicu keduanyaCukup gembira, Anda hanya bisa rantai ini.
Ini memberikan jumlah pelanggaran satu per karakter. Saya perlu
(
mengaturnya, tetapi tidak memberikan)
memberi kami:Itu 120. Tidak ada baris baru = 121. Ia berhasil memicu kesalahan "garis terlalu panjang", jadi itu 122. Akhirnya, menggunakan satu karakter untuk memulai dengan spasi (terima kasih eric_lagergren ) memberikan 2 pelanggaran bukannya 1:
Kemenangan!
sumber
z
dan Anda akan berakhir dengan 103 ... tetapi setiap kali saya menyalin kode ini saya mendapatkan 83 bukannya 102. Saya pikir spasi semakin kacau.