Son dersimizde kullanıcı inputlarından bahsetmiş, ama kullanıcı inputunun nasıl elde edildiğini açıklamamıştık. Python'da kullanıcı tek seferde tek satırlık giriş yapabilir. Bunu sağlamak için kullandığımız
fonksiyonuyla kullanıcıdan bir değer girmesini isteriz. input()
input()
fonksiyonu hiç argüman almaz ve kullanıcın girdiği input str
tipinde çıktı verir.
Bu websayfasında tüm girdiler program çalıştırılmadan önce belirtilmelidir. Python interaktif olarak evde çalıştırılırsa input() fonksiyonu programı durdurur ve kullanıcının bir satır tekst girmesini bekler. Ayrıca, interaktif çalışırken, input() herhangi bir stringi input olarak kabul eder ve kullanıcının komutu olarak yorumlar. Örn.,
sayı = input("0 ve 100 arası bir sayı girin. ") |
Bir input (kullanıcı girdisi) elde etmek için input()
fonksiyonunun nasıl kullanıldığını bir örnekle görelim. Düzenleyici inputu program için otomatik olarak belirtecek.
Bir sonraki örneğin gösterdikleri:
input()
fonksiyonunu üstüste çağırarak çok satırlı input çıktısı alabiliriz. İlkinput()
fonksiyonuyla ilk satırı, ikincisiyle ikinci satırı vd. alırız.input()
fonksiyonu ile alınan string,int
veyafloat
tipine dönüştürülebilir. (4. derste yapmıştık.)- İkinci test durumunda, inputun üçüncü satırı okunmadı çünkü
input()
sadece iki kez çağrıldı.
Buradan itibaren alıştırmaların çoğunda test için input girme şansınız olacak. Bir alıştırma yapalım: Aşağıdaki Input girin düğmesine basın. Input metin kutusunu boş bırakın. Sonra, Testi çalıştır düğmesine basın. Böyle bir hata alırsınız
EOFError: EOF when reading a lineEOF kısaltması End Of File (dosyanın sonu) kelimelerinin ilk harflerinden oluşuyor. Bu mesajdan programın
input()
fonksiyonunu çalıştırdığını ama okunacak bir input bulamadığını anlıyoruz.
- Derslerimizde input genellikle düzenleyici tarafından otomatik veriliyor, o hâlde bu hata mesajı programınızın
input()
fonksiyonunu çok fazla kere çağırdığı, programın bittiği ve düzenleyicinin inputunun sonuna gelindiği anlamına geliyor. - Bu alıştırmada ortaya çıkan hata, input kullanıcı tarafından sağlanıyordu ve siz input girmemeyi seçtiniz, böylece
input()
fonksiyonunun ilk kez çağrılması bile fazla oldu.
Sonraki alıştırmada çalışmayan programı çalışacak hâle getirmek için hataları ayıklamanız (debug) gerekecek. Buradaki hata (bug), bir yazım hatası değil, burada bir mantık hatası (logical bug) var: program yapması gereken işi yapabilecek şekilde tasarlanmamış, yani sizin onu biraz tekrar dizayn etmeniz gerekiyor.
Bir sonraki derse geçebiliriz, konumuz
(eğer) ifadeleri olacak.if