temel 10 ile int için Python geçersiz değişmez
Python işlevleri ve meth
Michael Zippo
18.11.2021
Python, deƒüerleri farklƒ± veri turlerine d√∂nu≈üturmekte iyidir. Birkaç √∂rnek vermek gerekirse, dizeleri tam sayƒ±lara, tam sayƒ±larƒ± dizelere, kayan sayƒ±larƒ± tam sayƒ±lara d√∂nu≈üturebilirsiniz. Python’un sevmediƒüi bir d√∂nu≈üum var: dize olarak yapƒ±landƒ±rƒ±lmƒ±≈ü bir kayan noktayƒ± bir tamsayƒ±ya deƒüi≈ütirmek.
Bu √∂ƒüreticide, ValueError: int()< için geçersiz deƒüi≈ümezi tartƒ±≈üƒ±yoruz. /code> temel 10 hatasƒ± ve neden yukseltildiƒüi. Bunu kodunuzda nasƒ±l duzeltebileceƒüinizi anlamanƒ±za yardƒ±mcƒ± olmak için bu hatanƒ±n bir √∂rneƒüini inceliyoruz.
Sorun: ValueError: 10 tabanlƒ± int() için geçersiz literal
Haydi ;s, hata mesajımızı okuyarak başlar:
Hata mesajlarƒ± iki kƒ±sƒ±mdan olu≈üur. ƒ∞lk kƒ±sƒ±m bize kar≈üƒ±la≈ütƒ±ƒüƒ±mƒ±z hatanƒ±n turunu anlatƒ±yor. Belirli bir nesnede depolanan deƒüerle ilgili bir sorun olduƒüunda bir ValueError ortaya 烱kar.
Hata mesajƒ±mƒ±z, 10 tabanƒ±ndaki bir tamsayƒ± için geçersiz bir sabit deƒüer olduƒüunu s√∂yluyor. bir int()
y√∂nteminden geçmi≈üseniz d√∂nu≈üturulemez.
Python’da, dize olarak biçimlendirilmi≈ü sayƒ±larƒ± float() ve int() y√∂ntemleri.
int()
y√∂ntemi, dize olarak temsil edilen bir kayan noktayƒ± iletmenize izin vermez. Tamsayƒ± olarak biçimlendirilmemi≈ü herhangi bir dize deƒüerini d√∂nu≈üturmeye çalƒ±≈üƒ±rsanƒ±z, bu hata ortaya 烱kar.
Bu, bir dizedeki kayan noktalƒ± bir sayƒ±yƒ± tam sayƒ±ya d√∂nu≈üturemeyeceƒüiniz anlamƒ±na gelir. Ek olarak, harfleri tam sayƒ±ya d√∂nu≈üturemezsiniz ("inf‚" gibi √∂zel bir anlamƒ± olan harfleri kullanmƒ±yorsanƒ±z).
Katƒ±lƒ±mcƒ±larƒ±n %81’i, sonrasƒ±nda teknik i≈ü beklentileri konusunda daha emin hissettiklerini belirtti. bir bootcamp’a katƒ±lmak. 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ƒ±.
Burada bir program olu≈üturuyoruz. bu, bir kahvehanenin mu≈üterilerine bir gun boyunca hizmet verecek kadar kahve stoƒüunda bulunup bulunmadƒ±ƒüƒ±nƒ± hesaplar. Giri≈ü alanƒ±mƒ±z ondalƒ±k sayƒ±larƒ± kabul etmelidir, çunku torbalar yarƒ± dolu, çeyrek dolu vb. olabilir.
Bir kullanƒ±cƒ±nƒ±n eklediƒüi deƒüeri bir tamsayƒ±ya d√∂nu≈ütururuz çunku yarƒ±m torba ve çeyrek torba duzeyine kadar hassas olmamƒ±z gerekmez.
Kullanƒ±cƒ±dan bir input() ifadesi kullanarak kaç tane kahve po≈üeti kaldƒ±ƒüƒ±nƒ± eklemesini isteyerek ba≈ülayalƒ±m:
Ardƒ±ndan bu deƒüeri ≈üuna çeviriyoruz bir tamsayƒ±. Daha sonra kahvehanede yeterli kahve olup olmadƒ±ƒüƒ±nƒ± kontrol etmek için bir "if‚" ifadesi kullanƒ±rƒ±z. Kahvede 10’dan fazla po≈üet varsa, gun için yeterince var.Aksi halde yok.
Bunu programımıza yazalım:
Kodumuzu çalƒ±≈ütƒ±ralƒ±m ve ne olduƒüunu g√∂relim:
Programƒ±mƒ±za bir ondalƒ±k sayƒ± yazmaya çalƒ±≈ütƒ±ƒüƒ±mƒ±zda bir hata d√∂ndurulur.< /p>
Bu hata, "7.4: √∂ƒüesini bir tamsayƒ±ya d√∂nu≈üturmeye çalƒ±≈ümamƒ±zdan kaynaklanmaktadƒ±r. "7.4‚" dize olarak biçimlendirilir. Python, bir dizgedeki kayan noktalƒ± sayƒ±yƒ± tam sayƒ±ya d√∂nu≈üturemez.
Bu sorunun ustesinden gelmek için, kullanƒ±cƒ±nƒ±n eklediƒüi deƒüeri kayan noktalƒ± sayƒ±ya d√∂nu≈üturmemiz gerekir. Daha sonra bunu bir tamsayƒ±ya çevirebiliriz.
Bunu float()
ve int()
deyimlerini kullanarak yapabiliriz. int()
işlevi bir tamsayı döndurur. float()
işlevi, bir kayan noktanın kayan nokta gösterimini döndurur.
Kodumuz √∂nce "coffee_bags‚" bir ≈üamandƒ±raya. Ardƒ±ndan, bu deƒüeri bir tam sayƒ±ya d√∂nu≈üturur. Kodumuzu tekrar çalƒ±≈ütƒ±rmayƒ± deneyelim:
Kodumuz ba≈üarƒ±yla çalƒ±≈üƒ±yor. Artƒ±k "coffee_bags‚" programƒ±mƒ±z bir kullanƒ±cƒ±nƒ±n eklediƒüi deƒüeri bir tam sayƒ±ya d√∂nu≈üturebilir.
< /div>
Sonuç
Python ValueError: olarak biçimlendirilmemi≈ü bir dize deƒüerini d√∂nu≈üturmeye çalƒ±≈ütƒ±ƒüƒ±nƒ±zda, int()
için temel 10 hatasƒ±yla geçersiz deƒüi≈ümez deƒüer ortaya 烱kƒ±yor bir tamsayƒ±.
Bu sorunu ç√∂zmek için, bir dizedeki kayan noktalƒ± bir sayƒ±yƒ± bir tam sayƒ±ya d√∂nu≈üturmek için float()
y√∂ntemini kullanabilirsiniz. numaranƒ±zƒ± bir tamsayƒ±ya d√∂nu≈üturmek için int()
kullanabilirsiniz.
Bu i≈üe yaramazsa, bir dize deƒüerinin harf içermediƒüinden emin olun. Harfli dizeler, bu harflerin Python’da √∂zel bir anlamƒ± olmadƒ±kça bir tamsayƒ±ya d√∂nu≈üturulemez.
Artƒ±k bu yaygƒ±n Python hatasƒ±nƒ± bir uzman geli≈ütirici gibi ç√∂zmeye hazƒ±rsƒ±nƒ±z!