eğer boş Python

max() y√∂ntemi yalnƒ±zca, y√∂nteme en az bir deƒüer içeren bir dizi iletirseniz çalƒ±≈üƒ±r.

Bo≈ü bir listedeki en buyuk √∂ƒüeyi bulmaya çalƒ±≈üƒ±rsanƒ±z, "ValueError: max() arg is a bo≈ü dizi‚" hatasƒ±yla kar≈üƒ±la≈üƒ±rsƒ±nƒ±z.

Bu kƒ±lavuzda, bu hatanƒ±n ne anlama geldiƒüi ve neden bu hatayla kar≈üƒ±la≈üabileceƒüiniz hakkƒ±nda konu≈üuyoruz. Bu hatayƒ± nasƒ±l ç√∂zeceƒüinizi anlamanƒ±za yardƒ±mcƒ± olacak bir √∂rnek uzerinden ilerliyoruz.

ValueError: max() arg boş bir dizidir

max() y√∂ntemi, bir listedeki en buyuk √∂ƒüeyi bulmanƒ±zƒ± saƒülar. Listedeki en kuçuk √∂ƒüeyi bulan min() y√∂ntemine benzer.

Bu y√∂ntemin çalƒ±≈ümasƒ± için max() en az bir deƒüere sahip bir diziye ihtiyaç duyar. Bunun nedeni, √∂ƒüe yoksa listedeki en buyuk √∂ƒüeyi bulamamanƒ±zdƒ±r. Aranacak √∂ƒüe olmadƒ±ƒüƒ± için en buyuk √∂ƒüe mevcut deƒüil.

"ValueError: max() argumanƒ±nƒ±n bir varyasyonu bo≈ü bir sƒ±radƒ±r‚" min() y√∂ntemine bo≈ü bir liste iletmeye çalƒ±≈ütƒ±ƒüƒ±nƒ±zda hata bulunur. Bu hata "ValueError: min() arg bo≈ü bir dizidir‚". Bu min() hatasƒ± aynƒ± nedenden dolayƒ± olu≈üur: deƒüer içermeyen bir listede en kuçuk deƒüeri bulamazsƒ±nƒ±z.

Örnek Senaryo

Biz‚Äô Bir √∂ƒürencinin tum kimya sƒ±navlarƒ±nda aldƒ±ƒüƒ± en yuksek notu bulan bir program olu≈üturacaƒüƒ±z. Ba≈ülamak için bir √∂ƒürenci listesi tanƒ±mlayƒ±n:

√ñƒürenci listemiz d√∂rt s√∂zluk içerir. Bu s√∂zlukler, her √∂ƒürencinin adƒ±nƒ± ve aldƒ±klarƒ± notlarƒ±n bir listesini içerir. Miranda’nƒ±n henuz bir notu yok çunku kimya sƒ±nƒ±fƒ±na yeni katƒ±ldƒ±.

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 daha az zaman harcadƒ±.

Sonra, bir for d√∂ngusu kullanƒ±n. √∂ƒürenci listemizdeki her √∂ƒürenciyi g√∂zden geçirmek ve her √∂ƒürencinin aldƒ±ƒüƒ± en yuksek notu ve her √∂ƒürencinin ortalama notunu bulmak için:

< √∂ƒürencinin aldƒ±ƒüƒ± en yuksek notu bulmak için code>max() i≈ülevi. Bir √∂ƒürencinin ortalama notunu hesaplamak için, tum notlarƒ±nƒ±n toplamƒ±nƒ± aldƒ±klarƒ± notlarƒ±n sayƒ±sƒ±na b√∂leriz.

< p>round() yöntemini kullanarak her öğrencinin ortalama notunu en yakın tam sayıya yuvarlarız.

Kodumuzu çalƒ±≈ütƒ±rƒ±n ve ne olduƒüunu g√∂run:

Kodumuz listemizdeki d√∂rduncu √∂ƒüeye ula≈üana kadar ba≈üarƒ±yla çalƒ±≈üƒ±r. Ron, Katy ve Rachel’ƒ±n en yuksek ve ortalama notlarƒ±nƒ± g√∂rebiliriz. Miranda için herhangi bir deƒüer g√∂remiyoruz.

Çözum

Kodumuz ilk uç √∂ƒürenci uzerinde çalƒ±≈üƒ±yor çunku bu √∂ƒürencilerin her birinin en az bir not içeren bir not listesi var. Miranda’nƒ±n henuz notu yok.

Miranda’nƒ±n notu olmadƒ±ƒüƒ±ndan, max() i≈ülevi yurutulemez. max() bo≈ü bir listedeki en buyuk deƒüeri bulamƒ±yor.

Bu hatayƒ± ç√∂zmek için, notlarƒ± hesaplamaya çalƒ±≈ümadan √∂nce her bir not listesinin herhangi bir deƒüer içerip içermediƒüine bakƒ±n. bir listedeki en yuksek not. Bir liste deƒüer içermiyorsa, kullanƒ±cƒ±ya farklƒ± bir mesaj g√∂stermeliyiz.

√ñƒürencinin biz gerçekle≈ütirmeden √∂nce herhangi bir notu olup olmadƒ±ƒüƒ±nƒ± kontrol etmek için bir "if‚" ifadesi kullanalƒ±m. herhangi bir hesaplama:

Yukarƒ±daki kodumuz, yalnƒ±zca bir √∂ƒürencinin en yuksek ve ortalama notunu, eƒüer en az bir not almƒ±≈üsa hesaplayacaktƒ±r. Aksi takdirde, kullanƒ±cƒ±, √∂ƒürencinin herhangi bir not almadƒ±ƒüƒ± konusunda bilgilendirilir. Kodumuzu çalƒ±≈ütƒ±ralƒ±m:

Kodumuz ilk uç √∂ƒürencimizin en yuksek ve ortalama notlarƒ±nƒ± ba≈üarƒ±yla hesaplamaktadƒ±r. Kodumuz Miranda’ya ula≈ütƒ±ƒüƒ±nda, kodumuz onun en yuksek ve ortalama notlarƒ±nƒ± hesaplamaz. Bunun yerine kodumuz bize Miranda’nƒ±n henuz herhangi bir not kazanmadƒ±ƒüƒ±nƒ± bildirir.

Sonuç

"ValueError: max() argumanƒ± bo≈ü bir dizidir&rdquo ; max() y√∂ntemini kullanarak bo≈ü bir listedeki en buyuk √∂ƒüeyi bulmaya çalƒ±≈ütƒ±ƒüƒ±nƒ±zda hata olu≈üur.

Bu hatayƒ± ç√∂zmek için yalnƒ±zca listeleri geçtiƒüinizden emin olun. max() ifadesi aracƒ±lƒ±ƒüƒ±yla en az bir deƒüerle. Artƒ±k bu sorunu profesyonel bir kodlayƒ±cƒ± gibi duzeltmek için ihtiyacƒ±nƒ±z olan bilgiye sahipsiniz!