Python kodunda inputlar string olarak geçiyor

mehanil

Centipat
Katılım
23 Temmuz 2021
Mesajlar
100
Python:
def g():  
   a = input("tam sayı yaz")
    if type(a) == float or type(a) == str:
        print("tam sayı değil",type(a))
        g()
    else:
        print("bu tam sayı",type(a))
        g()
g()

Kodum girdiğim tüm inputları string olarak görüyor. Integer girdiğimde bile. Neden acaba?
 
Son düzenleyen: Moderatör:
Python:
def g():
    a = int(input("tam sayı yaz"))
    if type(a) == float or type(a) == str:
        print("tam sayı değil",type(a))
        g()
    else:
        print("bu tam sayı",type(a))
        g()
g()
Maalesef yine çalışmadı.

Python:
def g():
    a = int(input("tam sayı yaz"))
    if type(a) == float or type(a) == str:
        print("tam sayı değil",type(a))
        g()
    else:
        print("bu tam sayı",type(a))
        g()
g()
 

Dosya Ekleri

  • asd.py - python - Visual Studio Code 5.07.2022 21_53_18.png
    asd.py - python - Visual Studio Code 5.07.2022 21_53_18.png
    68,8 KB · Görüntüleme: 26
Maalesef yine çalışmadı.

Harfi tam sayıya çevirirken hata vermesi normal. Başlıkta yazana göre düzenlemiştim.

Hata vermesini istemiyorsanız try, except blokları ile yapabilirsiniz.

Python:
def g(): 
    try:
        a = int(input("tam sayı yaz: "))
        print("Tam sayı.")
    except ValueError:
        print("Tam sayı değil.")
    
g()
 
Son düzenleme:
Bu şekilde olur.

Python:
def g():
    a = input("tam sayı yaz")
    try:
        a = int(a)
        print("bu tam sayı",type(a))
        g()

    except ValueError:
        print("bu tam sayı değil", type(a))
        g()
g()
 
Except Valueerror kısmının mantığını açıklayabilir misiniz?

Hocam basitçe try bloğu içerisindeki işlemler gerçekleşmezse veya durumlar mevcut olmazsa bizim istediğimiz hatayı ekrana yazdırır. Bir diğer kullanımı Exception olabilir, bunda Python, hata ne ise o hatayı ekrana yazdırır.

Python:
def g():
    a = input("tam sayı yaz")
    try:
        a = int(a)
        print("bu tam sayı",type(a))
        g()

    except Exception as hata:
        print(hata)
        g()
g()
 

Yeni konular

Geri
Yukarı