Hesaplamalar ve Değişkenler Python'u bilgisayarımıza kurduk ve Python arayüzünü nasıl çalıştıracağımızı da öğrendik. Şimdi Pyht...
Hesaplamalar ve Değişkenler
Python'u bilgisayarımıza kurduk ve Python arayüzünü nasıl çalıştıracağımızı da öğrendik. Şimdi Pyhton ile birşeyler yapmaya hazırız. Önce basit hesaplamalar yapacak, oradan da değişkenleri incelemeye geçeceğiz. Değişkenler bilgisayar programlarında veri saklamanın bir yoludur ve kullanışlı programlar yazmamıza yardımcı olabilirler.
Python İle Hesap Yapmak
8*4.62 çarpımının sonucu sorulduğunda ya hesap makinesi ya da kalem ve kağıda ihtiyaç duyarız. Peki, bu hesaplamayı Python ile nasıl yapabiliriz? Deneyelim!
Python arayüzünü başlatalım ve komut almaya hazır olduğunu belirten üç adet büyüktür (>) işaretinin yanına 8*4.62 yazdıktan sonra enter tuşuna basalım:
Not: Python'da çarpma işlemi için asteriks (yıldız) sembolünü çarpı (x) işareti yerine, ayrıca ondalık sayılar için de nokta (.) kullanırız.
Nasıl? Kolay değil mi?
Varsayalım arka bahçenizi kazıyor ve 20 adet altın sikke buluyorsunuz. Ertesi gün gizlice bodruma süzülüyor ve büyükbabanızın buhar gücüyle çalışan kopyalama makinesini buluyorsunuz. Az önce bulduğunuz 20 adet altın sikkeyi içine atıyor ve beklemeye başlıyorsunuz. Birkaç saat sonra vızıltı benzeri garip sesler eşliğinde makineden yeni 10 adet ışıl ışıl altın sikke daha elde ediyorsunuz.
Peki bunu bir yıl boyunca hergün yapsaydınız kaç altın sikkeniz olurdu? Kağıt üzerinde çözmeye çalıştığımzda işlem şöyle görünecekti:
365 x 10 = 3650
3650 + 20 = 3670
Tabi bu hesaplamayı hesap makinesi veya kağıt kalemle kolayca yapabiliriz. Aynı şekilde bu işlemi Python ile de yapabiliriz. Önce hergün makineden aldığımız 10 adet altın sikkenin bir yıl içinde kaç adet olduğunu bulacak, ardından bahçede bulduğumuz 20 adet altın sikkeyi de ekleyerek toplam sayıya ulaşacağız.
Peki, bir karga her hafta ışıl ışıl parlayan bu altınlardan 3 tanesini çalsa ne olurdu? Bir yılın sonunda
kaç altın kalmış olurdu? Python arayüzünde bu işlem şöyle görünecektir:
Ne yaptık? Önce karganın her hafta çaldığı 3 altın sikkeyi bir yılda bulunan 52 hafta ile çarptık. Sonra da çıkan sayıyı toplam altın sikke sayısından çıkardık. Nasıl? Kolay değil mi?
Python'da Aritmetik Operatörler
Python'da toplama, çıkarma, çarpma ve bölme işlemlerini yapabiliriz. Bunların dışında kalan matematiksel işlemlere ait operatörlere ise şimdi değinmeyeceğiz. Python'da dört işlem için kullanacağımız operatörler şunlardır:
Sembol İşlem
+ Toplama
- Çıkarma
* Çarpma
/ Bölme
Aritmetik Operatörlerde İşlem Önceliği
Matematiksel işlemleri yaparken operatörlerden hangisinin daha önce işleme konulacağını belirlemek için parantez işaretlerini kullanırız. Matematikte işlem önceliği, önce parantez içi, sonra çarpma ve bölme sonra da çıkarma ve toplamadır. Python'da da bir denklem yazmışsak, işlem önceliğini bu sıralamada gerçekleştirilecek şekilde ayarlamalıyız. Yoksa denklemin sonucunun yanlış dönmesi kuvvetle muhtemeldir.
Aşağıda Python'da aynı sayıları kullanarak yapılmış işlemin, iki farklı sonuç verebileceğini göreceğiz. Biz burada herhangi bir öncelik belirtmediğimiz için Python genel kuralı uygulamış ve önce çarpma işlemini sonra da toplama işlemini gerçekleştirmiştir.
Aşağıdaki durumda ise parantezlerle önceliğin toplama işleminde olduğunu belirtmiş, çarpma işlemini sonradan yapılmasını sağlamış olduk.
Bu ikinci işlemin sonucu 605 değil 700 çıkmıştır. Çünkü parantezler Python'a önce parantez içini daha sonra parantez dışında kalan işlemleri yapmasını söylemiştir. Daha açık ifadeyle; önce 5 ile 30'u topla, sonra çıkan sayıyı 20 ile çarp demiştir.
İç içe parantezler de olabilir. Örneğin:
Burada ise Python işlemi yapmaya en içteki parantezden başlayarak yapacak, sonra daha dışardakini ve en sonda bölme işlemini yaparak sonuca ulaşacaktır. Diğer bir deyişle önce 5 ile 30'u topla, çıkan sonucu 20 ile çarp, çıkan sayıyı da 20'ye böl şeklinde işlem yapılmıştır.
Eğer parantez kullanmasaydık;
sonucunu alırdık. Burada ise Python, matematiğin genel kuralı gereği önce çarpma/bölme sonra da toplama işlemini yaparak (yanlış) sonuca ulaşmışır.
UYARI: Parantez ile Python'a işlem önceliğini bildirmediğimiz sürece daima önce çarpma ve bölme, sonra da toplama ve çıkarma işlemleri yapılacaktır.
Değişkenler Etiketler Gibidir
Programcılıkta değişken sözcüğü, içinde sayıların, metinlerin, sayı ve metin listelerinin depolandığı yer anlamına gelir. Değişkenlere birşeylerin etiketi olarak ta bakabiliriz.
Örneğin; Ahmet isimli bir değişken oluşturmak istediğimizde, ismi yazar, yanına bir eşittir (=) işareti koyarız. Eşitliğin sağına vereceğimiz değerle de Python'a bu değişkenin değerini söylemiş oluruz.
Burada Ahmet isimli değişkenimizi yazdık, yanına eşittir (=) işaretini koyduktan sonra 100 yazıp enter tuşuna basınca, Python'a Ahmet'in 100 sayısının etiketi olduğunu söylemiş olduk. Gerçekten böyle olup olmadığını kontrol etmek için, Python'da çıktı verme fonksiyonu olan print fonksiyonu kullanıyoruz.
Görüldüğü üzere Ahmet etiketi bize 100 değerini döndürüyor. Ahmet değişkeninin değerini değiştirmediğimiz ya da değişkeni silmediğimiz sürece bize sürekli 100 değerini döndürecektir. Değiştirirsek;
bize değişken için en son verdiğimiz değeri döndürecektir.
NOT: Bir değişkenin bir değeri alması diğer değişkenlerin de aynı değeri alamayacağı anlamına gelmez. Farklı değişkenler aynı değeri alabilirler.
Birden fazla değişkeni aynı değere eşitleyebiliriz. Örneğin;
Bu örnekte, Ahmet değişkeninin değerinin 200 olduğunu, Mehmet değişkeninin de aynı değerde olmasını istediğimizi belirttik. Bu işlemi Mehmet değişkenine direk 200 değerini vererek te yapabilirdik.
Tabi programlarımızı yazarken bu tip değişken isimlerini kullanmayı tercih etmiyoruz. Mümkün olduğunca kullanacağımız değişken isimleri, içinde barındırdığı veri hakkında bilgi verecek türde anlamlı kelime ya da kelime gruplarından seçmeliyiz. Örneğin Ahmet'in sahip olduğu altın sikke sayısı için:
şeklinde bir değişken tanımlamak, değişkenin neyin etiketi olduğuna dair daha fazla bilgilendirici olacaktır.
Değişken İsimlendirme Kuralları
- Değişken isimleri harf, rakam ve alt çizgi (_)den oluşabilir.
- Değişken isimleri rakamlarla başlatılamaz.
- Tek harften oluşan değişken isimleri olabileceği gibi çok sayıda kelimeden oluşan isimler de olabilir.
- Değişken isimleri boşluk karakteri içeremezler. Değişken ismindeki iki kelime ya birleşik yazılmalı ya da alt çizgi karakteri ile birbirinden ayrılmalıdır.
- Değişken isimleri Python programlama diline ait kavramlardan oluşamaz. (Örneğin print.)
Değişken isimlerini hızlıca yazabilmek için en iyisi kısa tutmaktır. Fakat bu durumda bile değişken mümkün olduğu kadar neyi ifade ettiğini hatırlatacak kadar anlamlı kelimelerden seçilmelidir.
Şimdi de değişkenleri nasıl oluşturduğumuzu ve onları nasıl kullanacağımızı örnek üzerinde görmeye çalışalım:
Evin bahçesinde altın sikke bulduğumuzu, bu sikkeleri büyükbabamızın kopyalama makinesinde çoğalttığımızı, bunu bir yıl boyunca tekrar ettiğimizi ve bir karganın haftada 3 altın sikkeyi çaldığını hatırlayın. Problemimizi şu şekilde çözmüştük:
Bütün bu işlemleri tek satır kodla yazmak istersek:
şeklinde de yazabiliriz. Peki, bütün bu işlemleri değişkenlerle yapmak istersek! Önce bütün sayıları anlamlı değişkenlere atayalım:
Şimdi problemimizin çözümüne değişkenleri kullanarak ulaşmaya çalışalım:
Gördüğümüz gibi aynı sonucu aldık. Ama kimin umrunda değil mi? Değil tabi ki! Sözkonusu işlem için daha fazla karakter yazıp aynı sonuca ulaşmış olabiliriz ama daha büyük ve karmaşık programlarda değişkenlerin gücünü daha iyi anlayacağız. Ayrıca, diyelim ki her hafta 3 değil de 2 altın sikkemiz çalınmış olsaydı ne olurdu? Değişkenlerin gücüne bir örnek: Sadece calinan_altin değişkeninin değerini değiştirmemiz yeterli olacaktır.
calinan_altin değişkeninin değerini 2 olarak değiştirelim ve üstteki değişken kullanarak yazdığımız denklemi kopyalayıp en alta yapıştırarak, enter'a basalım.
Peki, kopyalama makinesi bize fazladan 10 değil de 13 altın verse ne olurdu?
Görüldüğü üzere sadece kopyalanan_altin değişkeninin değerini değiştirerek sonuca kolayca ulaşabiliyoruz. Peki işlemleri daha da kısaltmak istersek, mesela denklemimiz de bir değişkene eşitlersek ne olur? toplam_altin isimli bir değişken oluşturuyoruz ve eşitliğin sağ tarafına da denklemimizi yapıştırarak enter tuşuna basıyoruz. Ve çıktı verme fonksiyonu olan print ile kısa bir kodla işlem sonucuna ulaşabiliyoruz.
Şimdi istediğimiz değişkenin değerini değiştirip print fonksiyonu ile sonucu saniyeler içerisinde alabiliriz. Siz de herhangi bir kitaptan bulacağınız bir denklemi değişkenlerle çözmeye çalışıp konunun iyice pekişmesini sağlayabilirsiniz.
Neler Öğrendik?
Bu bölümde basit denklemlerin Python'da aritmetik operatörlerle nasıl hesaplanabileceğini, matematikte işlem önceliğini, parantezlerle işlem önceliğini belirlemeyi, ayrıca değişken oluşturmayı, değişkenlere değer atamayı,değişkenlere isim verirken uymamız gereken kuralları ve değişkenleri hesaplamalarımızda nasıl kullanabileceğimizi öğrendik.
COMMENTS