Betulkan: Python Error Indent

Python adalah bahasa pengaturcaraan yang muncul dengan pertama kali dikeluarkan pada tahun 1991. Bahasa ini dikenali sebagai perpustakaan komprehensif yang besar dan menyokong beberapa paradigma pengaturcaraan seperti fungsi, fungsi, prosedur, dan berorientasikan objek.

Ralat Indera dalam Python

' Ralat Indikasi: Diharapkan blok yang diandaikan ' berlaku untuk semua pengguna; sama ada mereka yang baru atau berpengalaman. Oleh kerana Python mengatur semua kodnya dengan ruang putih yang betul, jika anda mempunyai lekukan yang tidak baik, kod tersebut tidak akan dikompil dan anda akan dikembalikan mesej ralat.

Menurut konvensyen yang diikuti di PEP8, perlu ada empat ruang putih di mana diperlukan. Ia adalah sesuai untuk setiap pemrogram untuk menggunakan lekapan yang betul supaya kebolehbacaan kod meningkatkan.

Apa yang menyebabkan Ralat Indera di Python?

Seperti yang dinyatakan sebelum ini, ralat ini berlaku terutamanya kerana terdapat ralat ruang atau tab dalam kod anda. Oleh kerana Python menggunakan bahasa prosedur, anda mungkin mengalami ralat ini jika anda tidak meletakkan tab / ruang dengan betul. Program mungkin berjalan dengan betul tetapi jika jurubahasa menemui ralat ini, mesej ralat akan muncul di tengah. Beberapa punca kesilapan adalah:

  • Anda menggunakan kedua-dua ruang dan tab dalam kod anda. Jika kedua-duanya digunakan secara bergantian, jurubahasa tidak akan dapat menentukan item mana yang hendak digunakan.
  • Anda telah meletakkan beberapa inden yang salah . Jika amalan lekukan tidak diikuti, anda akan mengalami kesilapan ini tidak dapat dielakkan.
  • Anda lupa untuk inden pernyataan kompaun seperti 'if', 'for', 'while' dsb.
  • Anda terlupa untuk fungsi atau kelas yang ditakrifkan oleh pengguna .

Penyelesaian 1: Memeriksa ruang putih / tab yang salah

Tiada pembetulan segera untuk isu ini. Oleh kerana kod itu adalah milik anda, anda perlu melalui setiap baris dan melihat di mana anda membuat kesilapan. Terdapat beberapa blok dalam kod berkenaan dengan struktur. Jika terdapat pernyataan 'Jika', perlu ada lekukan kepada kod yang mengikutinya.

Struktur blok menghindarkan lekukan

Semak rajah di atas. Lihat bahawa lekukan untuk blok tertentu tetap sama sepanjang kod walaupun blok baru diperkenalkan di tengah. Pastikan lekapan anda adalah konsisten. Jika anda menggunakan ruang, sentiasa gunakan ruang dan jika anda menggunakan tab, sentiasa gunakan tab. Pencampuran dua akan menyebabkan masalah.

Contoh indera

Lekapan yang betul ditunjukkan dalam contoh di atas. Lihat gelung 'untuk' untuk permulaan. Semua di dalam 'untuk' gelung mesti diindentikasi. Di dalam 'untuk' gelung, kami mempunyai pernyataan 'jika'. Di dalam pernyataan 'jika', segala-galanya mesti diindentikasi lagi .

Anda boleh dengan mudah memeriksa di mana ralat lekukan terjadi dengan memeriksa log ralat dan melihat garis dari mana ralat itu berasal.

Penyelesaian 2: Membolehkan simbol tab / ruang dalam editor

Jika anda mengalami kesulitan mengindentikasi kod anda dengan 'meneka' seperti yang dilakukan oleh semua pengaturcara, anda boleh mendayakan simbol tab / ruang dalam IDE atau editor kod anda. Pilihan ini akan membolehkan 'titik' kecil dalam kod anda di mana setiap titik mewakili ruang atau tab. Anda boleh menggunakannya untuk kod inden dengan lebih baik dan pastikan tiada indent tambahan atau ada yang hilang.

Dalam contoh ini, kami akan mengambil Notepad ++ dan melihat bagaimana anda boleh mendayakan simbol. Jika anda menggunakan perisian lain untuk penyuntingan kod, anda boleh mendayakan tetapan khusus untuknya.

  1. Tekan View> Show Symbol> Show Whitespace and TAB

    Membolehkan Whitespace dan Tab - Notepad ++
  1. Sekarang pilihan itu diaktifkan. Anda juga boleh mendayakan Panduan Inden supaya perkara menjadi lebih mudah untuk anda.

Kod sampel dengan indentasi yang betul

Semak contoh di atas. Lihat lekukan yang dilaksanakan selepas setiap kelas. Setiap ruang diwakili oleh satu titik. Setelah membuat perubahan pada indentasi yang salah pada kod anda, jalankannya lagi dan lihat apakah ini menyelesaikan masalah itu.

Artikel Yang Menarik