Bana kod yazmayı öğret baba – Bölüm 3
Normalde bilgisayar programları kullanıcıyla içli dışlıdır. Çift tıklarsınız açılır. Ekranda bir şeye tıklarsınız, o sizi bir menüye götürür. Bir kutuya isminizi yazarsınız, sonra düğmeye basarsınız vs. Bizim şu ana kadar yaptıklarımız tamamen değerlerini kendimiz tayin ettiğimiz değişkenlerin değerleriyle oynayıp ekrana o değerleri yazmak. Şu ana kadar hiçbir kullanıcıdan girdi (input) almadık. Bu dersimize kullanıcıya biraz hal hatır sorarak başlayalım. Böylece kullanıcıdan girdi nasıl alırız ve o girdiyi nasıl kullanırız, öğrenelim. Compilerımızı henüz bookmark’lamamış olanlarımız varsa buradan buyursun.
isim = input("Adiniz nedir?") yazilacak_cumle = "Selam " + isim + "!" print(yazilacak_cumle)
Bu parça kodu çalıştırdığımızda compiler ekrana “Adınız nedir?” sorusunu yazıp sizden bir girdi bekleyecektir. İsminizi yazıp enter’a basabilirsiniz.
Input() fonksiyonunu kullanarak bir kullanıcıdan alabileceğimiz en basit şekilde girdi aldık. Input() fonksiyonu içine yazdığımız “Adınız nedir?” stringini ekrana yazarak kullanıcıdan bir girdi istedi. Yazdığımız kelimeyi de isim değişkeninin yeni değeri yaptı. Sonrasındaysa bir önceki derste öğrendiğimiz yöntemleri kullanarak stringleri topladık ve ekrana yazmak istediğimiz cümleyi yazdırdık. Bu işi biraz daha uzatalım ve daha farklı şeyler soralım kullanıcıya. Mesela:
isim = input("Adiniz nedir?") soyad = input("Peki ya soyadiniz?") yas = input("Yasiniz da rica etsem ayip olmaz umarim?") yazilacak_cumle = "Hosgeldiniz sayin " + isim + " " + soyad + ". Hic " + yas + " gostermiyorsunuz!" print(yazilacak_cumle)
Biraz eğlenmeye başladık sanki? Üstelik epey de kibarız. Kullanıcıyı görmeden yaşını kullanarak kendisine iltifat edebiliyoruz. Şimdi bir seviye daha yukarı çıkalım. Kullanıcının yaşını sorduktan sonra o yaş değerini alıp ikiyle çarpalım ve “Yaşınızın 2 katı x” şeklinde bir yazı yazalım. İşte şöyle bir parça kod kullanarak.
yas = input("Yasiniz?") yasin_iki_kati = yas * 2 yazilacak_cumle = "Yasinizin 2 kati " + yasin_iki_kati print(yazilacak_cumle)
Hemen test edelim ve onaylayalım. Ben denedim mesela, bakın ne oldu.
“Noldu Hafız, Python hata yapmaz diyordun?” diyenleriniz olacaktır mutlaka. Nitekim 29’u 2’yle çarpacakken 101’le çarptı sanki Python Bey. Yoksa 2’yle çarptı da biz mi anlamıyoruz? Cevap veriyorum: ikincisi. Evet, 29, 2’yle çarpıldı ve cevap 2929 çıktı. Ama bu bildiğimiz sayıları çarpma işlemi değildi. “29” kelimesi 2’yle çarpıldı, yani 2 tane “29” string’i uç uca eklendi. Ama daha önceden sayıları toplayıp çarpıyoduk, hiç böyle olmuyordu. Neden şimdi böyle oldu? Çünkü Python 29’u kaydettiğimiz yas değişkenini bir integer yerine string olarak algıladı. Yani Python için yas değişkenin o andaki manası 29 sayısı değil, 29 kelimesiydi. Çünkü input() fonksiyonunu sonucu her zaman string oluyordu.
Uzun lafın kısası, 101 dersi kadar öğretici bir hata yaptık dostlar. Python Bey’in değişkenleri nasıl algıladığını ve farklı değişken çeşitlerinin nasıl işleme alındığını gördük. Mesela benzer bir işlemi input() fonksiyonunu kullanmadan yapalım. 29’u önce string sonra integer olarak verelim Python’a. Bakalım ne olacak?
yas = "29" yasin_iki_kati = yas * 2 print(yasin_iki_kati) yas = 29 yasin_iki_kati = yas * 2 print(yasin_iki_kati)
Şahane değil mi? Peki şimdi bizim kullanıcıdan aldığımız yaş girdisini nasıl 2’yle çarpacağımıza dönelim. Madem yaşımızı Python bir string olarak algılıyor. Onu önce alalım bir integer’a çevirelim. Sonra çarpalım. Nasıl fikir? Hatırlarsınız bir float’u str() fonksiyonuyla string’e dönüştürmüştük. Şimdi tersini yapıp bir string’i bir integer’a dönüştüreceğiz. Onu da int() fonksiyonuyla yapacağız. İşte böyle:
string_yas = input("Yasiniz?") integer_yas = int(string_yas) yasin_iki_kati = integer_yas * 2 string_yasin_iki_kati = str(yasin_iki_kati) yazilacak_cumle = "Yasinizin 2 kati " + string_yasin_iki_kati print(yazilacak_cumle)
Değişkenleri birbirlerine çevirmek için iki satır daha ekledik ve her şey yoluna girdi.
Ödev 3.1: Kullanıcıdan iki defa sayı girmesini isteyen, sonra o sayıları çarpıp ekrana bu cümleyi yazan bir program yazın. “Birinci girdiğiniz sayı [buraya birinci sayı gelecek], ikinci girdiğiniz sayı [buraya ikinci sayı gelecek], bu sayıların çarpımı da [buraya çarpım gelecek].”
Az zamanda çok önemli fonksiyonlar öğrendik dostlar. Fonksiyonlar konusunu ileride daha derinden işleyeceğiz fakat daha derinlere inmeden öğrendiklerimizi bir özetleyelim.
- print(): Verdiğimiz değişkeni string, float, integer, boolean olmasına farketmeden ekrana değerini yazar.
- str(): Integer ve float değişkenleri alır string’e dönüştürür.
- int(): String değişkenleri alır integer’a dönüştürür.
- input(): Kullanıcının ekrana girdiği yazıyı bir string’e dönüştürür.
Şimdi biraz fonksiyona benzeyen ama çok daha enteresan işler beceren yeni bir şey öğrenelim. Ama o işi bir sonraki dersimize bırakalım. Dersi kapatmadan bir önceki dersin ödev çözümleri:
Ödev 2.1 çözüm:
x = 49.25 * 49.25 * 49.25 - 2 / 5.27 print(x)
Ödev 2.2 çözüm:
yazmak_istedigim_cumle = "a'nın su anki degeri " + str(a) + ", y’ninki de " + str(y)
Ödev 2.3 çözüm:
yazmak_istedigim_cumle = "a'nın su anki degeri " + str(a) + ", y’ninki de " + str(y) + ", bu esnada z’ninki de " + z
Ödev 2.4 çözüm:
yazmak_istedigim_cumle = "a’yi y’ye bolersek " + str(a/y) + " cikiyor"
Ödev 2.5 çözüm:
x = 43 * 43 * 43 * 43 * 43 y = 24 * 24 * 24 * 24 * 24 * 24 z = x > y print(z)
Hafız Lakyab
Yazar: Hafız Lakyab (tümünü gör)
- Dev Kütleli Bir Kara Deliğin Olması Gereken Yer, Galaksisinin Merkezi midir? - 17 Eylül 2019
- Bana kod yazmayı öğret baba – Bölüm 9 - 10 Mart 2019
- Bana kod yazmayı öğret baba – Bölüm 8 - 24 Şubat 2019
- Bana kod yazmayı öğret baba – Bölüm 7 - 10 Şubat 2019
- Bana kod yazmayı öğret baba – Bölüm 6 - 27 Ocak 2019
Merhaba. Bilgisayarla olan muhabbeti Google amcadan öteye gitmeyen bana iki üç satır kod yazdırdınız. Gerçekten Bilal’e anlatır gibi anlatmışsınız. Kendi kendime ödevlerle uğraştım, çözebildiğimi görünce mutlu oldum falan… Tebrik ediyorum ve yazıların devamını dört gözle bekliyorum.