desteklenmeyen işlenen türleri python

Python işlevleri ve meth

Tamsayı değerleri, dize değerlerinden çıkarılamaz ve bunun tersi de geçerlidir. Bunun nedeni, dizelerin ve tam sayıların ayrı veri türleri olmasıdır. Bir tam sayıdan bir dize çıkarmaya çalışırsanız, “TypeError: unsupported operand type(s) for -: ‘str’ gibi bir hata alırsınız. ve ‘int’”.

Bu kılavuzda, bu hatanın önemi ve neden ortaya çıktığı hakkında konuşuyoruz. Kodunuzdaki bu hatayı nasıl çözeceğinizi anlamanıza yardımcı olacak bir örnek üzerinden ilerliyoruz.




TypeError: desteklenmeyen işlenen türleri için -: ‘str’ ve ‘int’

Diğer programlama dillerinden farklı olarak Python sözdizimi güçlü bir şekilde yazılır. Bunun bir sonucu olarak, dizeler ve tamsayılar gibi nesne türlerini farklı bir veri türü olarak ele almak istiyorsanız değiştirmeniz gerekir.

Bir tamsayı için href="/python-string-methods/">string veya tam tersi, Python ne yapacağını bilmiyor yapmak. Bunun nedeni, dize değerlerini çıkaramamanızdır.

Benzer şekilde, bir tamsayıya dize ekleyemez veya bir dizeyi bir tamsayıya bölemezsiniz. Bu işlemlerin tümü, “desteklenmeyen işlenen tür(ler)i” error.




Örnek Senaryo

Birinin satın alma işleminden sonra bütçesinde ne kadar para kaldığını izleyen bir harcama uygulaması oluşturacağız. Bu uygulama, bir kullanıcıdan yaptıkları her satın alma işleminin değerini girmesini ister. Bu, kullanıcının bütçesindeki toplam tutardan düşülecektir.

Başlamak için, kullanıcıdan girişini kullanarak bir bütçe belirlemesini isteyin. () yöntem:

budget = int(input("Bu ay için bütçeniz nedir) ? "))

Bu değeri int() yöntemini kullanarak bir tam sayıya dönüştürdük. Ardından, bir kullanıcıdan satın alma işlemiyle ilgili bazı ayrıntılar vermesini isteriz. Ne satın aldıklarını ve satın alma maliyetlerinin ne kadar olduğunu soruyoruz:

Katılımcıların %81'i bir eğitim kampına katıldıktan sonra teknik iş olanakları konusunda daha emin hissettiklerini belirtti. Bugün bir eğitim kampı ile eşleştirin.

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ı.

Sonra, değeri çıkarıyoruz “fiyat” “bütçeden”. Bu bize bir kullanıcının bütçesinde ne kadar kaldığını gösterir.


Bunu çıkarma operatörünü (-) kullanarak yapıyoruz:

para_left = bütçe - fiyat yazdır ("Bütçenizde {} $ kaldı.".format(money_left))

Programımızın çalışıp çalışmadığını görmek için kodumuzu çalıştırın:

Bu ayki bütçeniz nedir? 400 Ne satın aldınız? Monitör standı Bu satın alma ne kadar oldu? 35 Geri izleme (en son arama): Dosya "main.py", satır 5,  money_left = bütçe - fiyat TypeError: - için desteklenmeyen işlenen türleri: "int" ve "str"

We’ programımıza aylık bütçemizin 400$ olduğunu söyledik. 35$'a mal olan bir monitör standı satın aldık. Programımız yeni bütçemizi hesaplamıyor. Gelin bu hatayı düzeltelim.




Çözüm

h2>

Öyleyse Bu hatayı yaşarsak, “price” bir dizeye.

Varsayılan olarak, input() bir dize döndürür. “bütçe” değerini değiştirdik; kodumuzda daha önce bir tamsayı olmak için. Ancak, "fiyat" değerini değiştirmedik. Bu, kodumuzun mümkün olmayan bir dizeden bir tamsayı çıkarması ile sonuçlanır.

Python statik olarak yazıldığından, Python bir dizeyi otomatik olarak bir tamsayıya dönüştüremez.

Bu hatayı “fiyat” bu kodla beyan:

price = int(input("Bu satın alma ne kadardı? "))

input() ifadesini int() ile çevreledik. Bu, değeri “price” Bir tamsayı değişken. Bu, bir kullanıcının programımıza eklediği değeri bir tamsayıya dönüştürür. Kodumuzu bu gözden geçirilmiş kod satırıyla çalıştırın:

Bu ay için bütçeniz nedir? 400 Ne satın aldınız? Monitör standı Bu satın alma ne kadardı? 35 Bütçenizde 365 TL kaldı.

Kodumuz başarıyla çalışıyor. Kodumuz 400'den 35'i çıkarır. Ardından programımız bütçemizde ne kadar para kaldığını konsola yazdırır.





Benzer Hatalar

Python'da bir dizi “desteklenmeyen işlenen türü” hatası vardır.

Bu hatalar aynı anlama gelir: Bir dize ve sayısal bir değer üzerinde matematiksel işlem gerçekleştirmeye çalışıyorsunuz. Dizeler matematiksel işlemleri desteklemediğinden, bir hatayla karşılaşırsınız.

Örneğin, bir dize ve tamsayı eklemeye çalışırsanız şu hatayı görürsünüz:

TypeError: + için desteklenmeyen işlenen türleri: 'int' ve 'str'

Benzer şekilde, bir dizenin ve bir tamsayının kalanını bulmaya çalışın:

TypeError: % için desteklenmeyen işlenen türleri : 'int' ve 'str'

Bu hatayı her durumda çözmek için, kodunuzda kullanmadan önce herhangi bir dize değerini tam sayıya dönüştürdüğünüzden emin olun. Bunu int() yöntemini kullanarak yapabilirsiniz.




Sonuç

- için “TypeError: desteklenmeyen işlenen türleri: ‘str&rsquo ; ve ‘int’” bir tamsayıdan bir dize çıkarmaya çalıştığınızda hata oluşur.

Bu hatayı, bir işlem gerçekleştirmeden önce int() yöntemini kullanarak tüm dizeleri tam sayılara dönüştürerek çözersiniz. matematiksel işlem.

Artık bu yaygın Python hatasını profesyonel bir geliştirici gibi çözmeye hazırsınız!

"Python.Engineering hayatıma en çok ihtiyacım olduğu anda girdi ve hızlı bir şekilde yardımcı oldu. Beni bir eğitim kampıyla eşleştiriyorum. Mezun olduktan iki ay sonra, hayattaki değerlerim ve hedeflerim ile uyumlu hayalimdeki işi buldum!"

Venus, Yazılım Mühendisi Rockbot





desteklenmeyen işlenen türleri python: StackOverflow Questions

Tutorials