Python int nesnesi yinelenebilir değil

Python işlevleri ve meth

Bir hatayla karşılaşmak sorun değildir; bu bir öğrenme fırsatı. Python'da geliştirme yaparken bir “‘int’ hatası görmüş olabilirsiniz. nesne yinelenebilir değil”.

Bu ne anlama geliyor? Nasıl çözerim? Bu makalede yanıtlayacağımız sorular bunlardır. “‘int’ nesne yinelenemez” hata, neden ortaya çıktığı ve bunu nasıl çözebileceğinizdir.




Sorun: typeerror: ‘int’ nesne yinelenemez

“typeerror: ‘int’ nesne yinelenebilir değil”

Bu hata iletisinin iki bölümü vardır: TypeError ve hata iletisi.

Bir işlev uygulandığında bir TypeError oluşur. yanlış veri türünde bir nesne. Örneğin, bir dizgeye matematiksel bir işlev uygulamaya çalışırsanız veya işlev olmayan bir işlev gibi bir değer çağırırsanız, bir TypeError ortaya çıkar.

Hata mesajı bize şunu söyler: yinelenebilir olmayan bir nesne üzerinde yineleme yapmaya çalıştınız. Yinelenebilir nesneler, değerlerine bir “döngü için” kullanarak erişebileceğiniz öğelerdir.




Bir Uygulama Senaryosu

Bu hatanın ortaya çıktığı en yaygın senaryolardan biri, bir sayı içeren bir for döngüsü kullanmaya çalıştığınız zamandır. Bu hata, bir for döngüsü kullanırken range() işlevini kullanmayı unutmanın kolay olması nedeniyle yapılmıştır.

< p>Şu kod parçacığını göz önünde bulundurun:

Katılımcıların %81'i, bir eğitim kampına katıldıktan sonra teknik iş beklentileri konusunda daha emin hissettiklerini belirtti. Bugün 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ı.

Bu kod parçacığı bir işlevi kullanır. . count_occurance işlevi, bir sayının “değerler” liste. Bu işlev, “values” ve belirli bir sayıya eşit olanların toplamını tutar. Bu sayı, “to_find” adlı bir parametre olarak belirtilir.


Ana programımızda “values” adında dört değer içeren bir liste tanımlıyoruz.Değer listemizde kaç tane üçlü olduğunu saymak için count_occurrence fonksiyonumuzu çağırıyoruz.Sonra yazdırıyoruz. konsola verilen yanıt.

Kodumuzu çalıştıralım:

< ön>Geri İzleme (en son çağrı son): Dosya "main.py", satır 9, check_for_3,000s = count_occurrence(values, 3) Dosya "main.py", satır 3, in len( v için count_occurrence) değerler): TypeError: 'int' nesnesi yinelenemez

Hay hay! Bir hata oluştu. Artık bu hatayı tekrarladığımıza göre, çözebiliriz.




Çözüm

Hatamız, yinelenemeyen bir nesne üzerinde yineleme yapmaya çalıştığımızı söylüyor. Hata mesajına ayrıntılı olarak bakarsak, şunları görebiliriz: e bizi sorunun oluştuğu satıra yönlendirir:

v in len(değerler):

pre>

Bu satırdaki sorun, bir sayı üzerinde yineleme yapmaya çalışmamızdır.

len(değerler) 4'e eşittir. liste “değerler” içindedir. Bir sayı üzerinde yinelemeye çalışırsak hiçbir şey olmaz. Bunun nedeni, for döngülerinin yalnızca yinelenebilir nesnelerle çalışmasıdır.

Bu sorunu çözmek için, döngümüzün yinelenebilir bir nesne üzerinde yinelendiğinden emin olmamız gerekir. Bunu yapmak için kodumuza bir range() ifadesi ekleyebiliriz:

 for v in range(len(values)):

Bu ifade, 0 aralığında bir değerler listesi ve “values” list.

Kodumuzu range() deyimiyle yeniden çalıştırmayı deneyelim. Kodumuz şunu döndürür:

2

Kodumuz listedeki 3'ün tüm örneklerini başarıyla buldu. Kodumuz hepsini saydı ve ardından listede konsola 3 kez göründüğü toplam sayıyı yazdırdı.







Sonuç

TypeError'lar yaygın bir sorundur. Python'da hata türü.Yanlış türde bir değere bir işlev uygulamaya çalıştığınızda ortaya çıkarlar.Bir tamsayı değeri üzerinde yineleme yapmaya çalıştığınızda bir “‘int’ nesnesi yinelenemez” hatası oluşur.

Bu hatayı çözmek için, bir sayı yerine yinelenebilir bir sayı üzerinde yineleme yaptığınızdan emin olun.

Artık bu hatayı Pythonista!





Python int nesnesi yinelenebilir değil: StackOverflow Questions

Tutorials