Python’da girinti hatası

IndentationErrors iki amaca hizmet eder: kodunuzu daha okunaklƒ± hale getirmeye yardƒ±mcƒ± olur ve Python yorumlayƒ±cƒ±sƒ±nƒ±n kodunuzu doƒüru bir ≈üekilde anlamasƒ±nƒ± saƒülar. Gerekli olmayan ek bir bo≈üluk veya sekme eklerseniz, "Girinti Hatasƒ±: beklenmeyen girinti‚" error.

Bu kƒ±lavuzda, bu hatanƒ±n ne anlama geldiƒüini ve neden ortaya 烱ktƒ±ƒüƒ±nƒ± tartƒ±≈üƒ±yoruz. Programƒ±nƒ±zda nasƒ±l duzeltebileceƒüinizi bulabilmeniz için bu hatanƒ±n bir √∂rneƒüini inceleyeceƒüiz.

Girinti Hatası: beklenmeyen girinti

Girinti, belirli bir bo≈üluk sayƒ±sƒ±dƒ±r. veya bir kod satƒ±rƒ±nƒ±n belirli bir kod bloƒüunun parçasƒ± olduƒüunu belirten sekmeler. ≈ûu programƒ± du≈üunun:

Tek bir fonksiyon tanƒ±mladƒ±k: hello_world(). Bu fonksiyon bir print deyimi içerir. Python’a bu kod satƒ±rƒ±nƒ±n i≈ülevimizin bir parçasƒ± olduƒüunu belirtmek için girinti yaptƒ±k.

Tercihinize baƒülƒ± olarak kodu bo≈üluk veya sekme kullanarak girintileyebilirsiniz. Kodu yalnƒ±zca, o kodun ba≈üka bir kod bloƒüunun parçasƒ± olmasƒ± gerekiyorsa girintilisiniz. Bu, a≈üaƒüƒ±dakilere kod yazmanƒ±zƒ± içerir:

Python kodu, özel bir deyimde görunuyorsa tutarlı bir şekilde girintili olmalıdır. Python, girintiyi kesinlikle zorlar.

JavaScript gibi bazƒ± programlama dilleri, kod bloklarƒ±nƒ± belirtmek için kume parantezleri kullandƒ±klarƒ± için girintiyi kesinlikle zorlamaz. Python’da bu √∂zellik yoktur, bu nedenle dil buyuk √∂lçude girintiye baƒülƒ±dƒ±r.

"IndentationError: beklenmedik girintinin‚" hata, kodunuzu çok fazla girintili yapmak veya bir kod satƒ±rƒ±nƒ± girintilemek için çok fazla sekme ve bo≈üluk kullanmaktƒ±r.

Katƒ±lƒ±mcƒ±larƒ±n %81’i, bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri konusunda kendilerini daha guvende hissettiklerini belirtti. . Bugun bir eƒüitim kampƒ± ile e≈üle≈üin.

Ortalama bir eƒüitim kampƒ± mezunu, bir eƒüitim kampƒ±na ba≈ülamaktan ilk i≈üini bulmaya kadar, kariyer geçi≈üinde altƒ± aydan az zaman harcadƒ±.

Olabileceğiniz diğer girinti hataları karşılaşma şunlardır:

Örnek Senaryo

Bir kullanıcının yaptığı satın almaların bir listesi arasında dolaşan ve satın alınanların tumunu yazdıran bir program oluşturacağız. konsola 25,00 dolardan fazla.

Ba≈ülamak için, satƒ±n almalarƒ±n bir listesini tanƒ±mlayalƒ±m:

Sonra, satƒ±n alma listemizde dola≈ümak ve olanlarƒ± yazdƒ±rmak için bir i≈ülev tanƒ±mlarƒ±z konsola 25 dolardan fazla deƒüer:

show_high_purchases() i≈ülevi bir baƒüƒ±msƒ±z deƒüi≈ükeni kabul eder: i≈ülevin arama yapacaƒüƒ± satƒ±n alma listesi . ƒ∞≈ülev bu listeyi yineler ve her satƒ±n alma i≈üleminin deƒüerinin 25,00 ABD dolarƒ±ndan fazla olup olmadƒ±ƒüƒ±nƒ± kontrol etmek için bir if ifadesini kullanƒ±r.

Bir satƒ±n alma i≈ülemi 25,00 ABD dolarƒ±ndan fazlaysa, Satƒ±n Alma: konsola yazdƒ±rƒ±lƒ±r. Ardƒ±ndan, bu satƒ±n almanƒ±n fiyatƒ± konsola yazdƒ±rƒ±lƒ±r. Aksi takdirde hiçbir ≈üey olmaz.

Kodumuzu çalƒ±≈ütƒ±rmadan √∂nce fonksiyonumuzu çaƒüƒ±rƒ±n ve satƒ±n alma listemizi parametre olarak iletin:

Kodumuzu çalƒ±≈ütƒ±ralƒ±m. ve neler olduƒüunu g√∂run:

Kodumuz ba≈üarƒ±lƒ± bir ≈üekilde çalƒ±≈ümƒ±yor.

Çözum

Her Python hatasƒ±nda olduƒüu gibi, hatayƒ± tam olarak okumalƒ±yƒ±z. Neler olduƒüunu g√∂rmek için mesaj. Sorun, bir satƒ±n alma i≈üleminin deƒüerini yazdƒ±rdƒ±ƒüƒ±mƒ±z 7. satƒ±rda g√∂runuyor.

ƒ∞kinci print() ifadesini tesadufen girintili hale getirdik. ƒ∞kinci print() ifademiz ba≈üka bir kod bloƒüunun parçasƒ± olmadƒ±ƒüƒ± için bu bir hataya neden olur. H√¢l√¢ if ifademizin bir parçasƒ±dƒ±r.

Bu hatayƒ± ç√∂zmek için, tum print() ifadelerimizi tutarlƒ± bir ≈üekilde girintili hale getirdiƒüimizden emin olmalƒ±yƒ±z:

Her ikisi de print() deyimleri aynƒ± if ifadesinin parçasƒ± olduklarƒ± için aynƒ± girinti duzeyini kullanmalƒ±dƒ±r. Bu duzeltmeyi yukarƒ±da yaptƒ±k.

Kodumuzu çalƒ±≈ütƒ±rmayƒ± deneyelim:

Kodumuz, 25,00 ABD dolarının uzerindeki tum satın alma işlemlerini konsola başarıyla yazdırır.

Sonuç

"IndentationError: beklenmedik girinti‚" bir kod satƒ±rƒ±na çok fazla girinti yaptƒ±ƒüƒ±nƒ±zda ortaya 烱kar. Bu hatayƒ± ya≈üƒ±yorsanƒ±z, tum kodunuzun tutarlƒ± girintiler kullandƒ±ƒüƒ±ndan ve gereksiz girintiler olmadƒ±ƒüƒ±ndan emin olun.

Artık bir Python uzmanı gibi bu hatayı duzeltmeye hazırsınız!