Python programlamada kullanıcı girişini okumak ve tamsayıya dönüştürmek yaygın bir işlemdir. Bu süreç, beklenmedik girişlerle karşılaştığında programınızın çökmemesini sağlamak için dikkatli hata yönetimi gerektirir. Bu makale, hem Python 3 hem de Python 2’yi kapsayarak Python’da tamsayı girişi okumak için en iyi uygulamaları size rehberlik edecektir.
İçindekiler
- Python 3’te Tamsayı Girişi Okuma
- Python 3’te Sağlam Hata Yönetimi
- Python 2’de Tamsayı Girişi Okuma
- Python 2’de Sağlam Hata Yönetimi
- En İyi Uygulamalar ve Gelişmiş Teknikler
- Sıkça Sorulan Sorular
Python 3’te Tamsayı Girişi Okuma
Python 3, kullanıcı girişini okumak için input()
fonksiyonunu kullanır. Bu fonksiyon her zaman bir dize döndürür, bu nedenle açıkça int()
kullanarak tamsayıya dönüştürmeniz gerekir. Ancak, tamsayı olmayan giriş bir hataya neden olacaktır. En iyi yaklaşım, olası ValueError
istisnalarını işlemek için bir try-except
bloğu kullanmaktır.
while True:
try:
user_input = input("Bir tamsayı girin: ")
number = int(user_input)
break # Giriş geçerliyse döngüden çık
except ValueError:
print("Geçersiz giriş. Lütfen bir tamsayı girin.")
print("Girdiğiniz değer:", number)
Python 3’te Sağlam Hata Yönetimi
while True
döngüsü, program geçerli bir tamsayı girilene kadar kullanıcıya istekte bulunmaya devam etmesini sağlar. Daha gelişmiş hata yönetimi, farklı türdeki geçersiz girişler için özel hata mesajları veya daha karmaşık senaryolar için düzenli ifadeler kullanarak giriş doğrulama içerebilir.
Python 2’de Tamsayı Girişi Okuma
Python 2’de, kullanıcı girişini dize olarak okumak için tercih edilen yöntem raw_input()
‘tur. Python 2’de input()
kullanmaktan kaçının çünkü girişi değerlendirmeye çalışır, bu da güvenlik açıklarına ve beklenmedik davranışlara yol açabilir.
while True:
try:
user_input = raw_input("Bir tamsayı girin: ")
number = int(user_input)
break
except ValueError:
print "Geçersiz giriş. Lütfen bir tamsayı girin."
print "Girdiğiniz değer:", number
Python 2’de Sağlam Hata Yönetimi
Python 2’deki hata yönetimi, try-except
bloğunu kullanarak Python 3’e benzer. Yukarıda gösterilen aynı döngü tekniği, programın geçersiz girişlerde çökmemesini sağlar.
En İyi Uygulamalar ve Gelişmiş Teknikler
Her zaman kullanıcı girişini doğrulayın. Kullanıcının beklenen veri türünü sağlayacağını varsaymayın. try-except
blokları kullanmak, sağlam hata yönetiminin temel bir parçasıdır. Uygulamanızın ihtiyaçlarına bağlı olarak daha özel istisna yönetimi eklemeyi (örneğin, KeyboardInterrupt
işleme) düşünün. Karmaşık doğrulama senaryoları için düzenli ifadeler güçlü bir araç olabilir.
Sıkça Sorulan Sorular
- S: Kullanıcı ondalıklı bir sayı girerse ne olur?
C:int()
fonksiyonu ondalık kısmı keser ve ondalıklı sayıyı tamsayıya dönüştürür (örneğin,int(3.14)
,3
döndürür). Ondalıklı sayıları işlemek içinfloat()
kullanın. - S: Başka tür hataları nasıl işleyebilirim?
C:KeyboardInterrupt
veyaEOFError
gibi belirli istisnaları işlemek için daha fazlaexcept
bloğu ekleyin. - S: Daha özlü doğrulama yöntemleri var mı?
C:try-except
açık olsa da, düzenli ifadeler karmaşık doğrulama kuralları için daha özlü çözümler sunar.