'str' object cannot be interpreted as an integer hatası


burada
‘str’ object cannot be interpreted as an integer hatasını alıyorum nedeni ne olabilir?

x değerine atadığınız girdi, str tipindedir.
Bunu tam sayıya çevirmek için int() kullanmalısınız.
Aksi takdirde range(x) kısmı hata verecektir çünkü x tam sayı olmayacak.

Bir diğer hata ise 8. satırda yer alıyor. Python’da string yerine str kullanılıyor.
Yani string() yerine str() kullanmalısınız fakat başta da belirttiğim gibi input() zaten str tipinde girdi alıyor.

Şimdi fark ettim ki y değerini de sayısal karşılaştırmalarda kullanmışsınız. Yani yine int() kullanmalısınız.

x = int(input("How many grades will you enter: "))

# Burada y yerine başka bir isim kullanmanızı tavsiye ederim.
for z in range(x):
    y = int(input("grade: "))

# Koşul cümeleleri vs.
1 Beğeni

bkz: Soru Sorarken Sıkça Düşülen Hatalar #4

Zaten çözümü vermişler, nacizane bir kaç hususa değineceğim.

Bunu eleştirme, yerme, kötüleme olarak algılamayın.

İleriye dönük, geleceğinizde de işinize yarayabilecek öneriler olarak algılayın.

Bana ne ya ben sadece hocanın verdiği ödevi çözüp işime bakarım derseniz saygı duyarım.

İnsanlar tercihlerinin esiridir.

Bir kere, hangi dili, hangi editörü, hangi geliştirme ortamını kullanıyorsanız öncelikle onu iyice tanıyın.

Tip korumalı dil nedir? Temel veri tipleri nelerdir, tipler nasıl dönüştürülür iyice öğrenin.

Akabinde derleyiciler, yorumlayıcılar sizin dostunuzdur, size hata yakalama seçenekleri sunarlar.

Mesela:

" ‘str’ object cannot be interpreted as an integer hatası"

Demişsiniz.

Hata bağırıyor, diyor ki, str , yani karakter dizisi nesnesi tam sayı olarak yorumlanamaz.

Hiç bir şey yapamadınız,

google’a:

‘str’ object cannot be interpreted as an integer - Google’da Ara

Yazınca milyon tane örnek çıkıyor.

Buradan çıkarılacak ders şu olmalı.

Editör uyarı ve hataları basit çözülebilir hatalardır.

Her derlediğim kodda bu foruma bir başlık açsam milyon tane başlık olurdu.

Bunu yapmadan önce, hata mesajını google a bir yazın.

Türkçesine bir bakın, ardından bu hatanın çözümlerine bakın.

Girdiyi string almak yerine int almak yada string alıp sonrasında integer a dönüştürmek.

Gibi bir çok farklı yaklaşım ise kendi tercihinize kalmış.

Tekrarlıyorum, nacizane sadece birilerine bağımlı kalmak yerine kendi sorunlarını çözebilir bir kültüre kavuşmak adına tavsiyem.

Aksi halde herkes tüm kodları okuyup tüm hataları düzeltmeye kafa yormayabilir yada istediğiniz cevap istediğiniz anda gelmez.

Ama siz balık tutmayı öğrenirseniz balık getirmelerini beklemek zorunda kalmazsınız.

3 Beğeni