5.00 / 1 oy

Python valueerror invalid literal for int() with base 10 Hatası ve Çözümü

Python'da en sık karşılaşılan hatalardan (bkz: SyntaxError: invalid syntax ve ZeroDivisionError: division by zero hataları) birisi de valueerror hatalarıdır ve çoğunlukla hatalı veri dönüşümlerinden kaynaklanırlar. Aşağıda bir aslında doğru çalışan bir python kodu örneğinin kullanıcı tarafından nasıl hatalı olarak kullanılabileceği bir örnek göstermek istiyorum.

Kodlar oldukça basit, kullanıcı bir sayı yazıyor, python da kullanıcı tarafından yazılan sayıyı değişken olarak saklıyor ve bu sayıya 5 ekleyerek print fonksiyonu ile yazdırıyor.

Kodlar:

sayi = int(input("Lütfen bir sayı yazın > "))
print(sayi+5)

Doğru Kullanım:

Lütfen bir sayı yazın > 6
11

Oldukça basit ve sorunsuz çalışan bir kod değil mi? şimdi aynı kodu çalıştırarak farklı bir şey yazalım:

Hatalı Kullanım:

Lütfen bir sayı yazın > selam

Sonuç:

    sayi = int(input("Lütfen bir sayı yazın > "))
ValueError: invalid literal for int() with base 10: 'selam'

Python'a diyoruz ki selam yazısını tamsayıya çevir ve 5 ekleyerek yazdır, o da selam yazısının bir sayıya dönüştürülemeyeceğini söylüyor ve bu işleme de yazılım dilinde dönüşüm hatası (conversion error) adı veriliyor. Kullanıcılar her türlü değerleri girebilecekleri için bkz: Python'da try-except kullanmak

m.cengiz

11.06.2020 04:01

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Python valueerror invalid literal for int() with base 10 Hatası ve Çözümü

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.