Python ve Matematik

Python ile matematik işlemi yapmak gerçekten de kolaydır. Bir önceki blogda biraz karışık işlemler yapmış olabiliriz ancak matematiksel bir işlem yapmak için herhangi bir değişkene bile gerek yoktur; bakalım.

Gördüğünüz gibi; oldukça basit. İsterseniz işin içine değişken katalım ve çıktımızı da güzelleştirelim.

Bu noktada aynı veri tipine sahip değerlerle işlem yapmanın basit olduğundan bir önceki blog içerisinde 'Type Conversion' bölümünde bahsettim. Bu yazıda, geri kalan bazı işlemleri de yapmayı öğreneceğiz. Bunun için 'math' adında bir modülümüz mevcut.

Modüller, fonksiyonlardan farklıdır. Fonksiyon tek bir işi yapan görev parçasıdır. Ancak modül, birden fazla fonksiyon içeren bir 'görevler bütünüdür'. Ne demek istediğimi, birazdan kuracağım cümlelerden anlayacaksınız.

Python'da bir modül kullanmak istediğimiz zaman bunu 'import' komutu ile kod sayfasının en başında bunu belirtiriz. Bunu şöyle yapıyoruz:

import math

İsterseniz şimdi, math modülü hakkında biraz bilgi edinelim; acaba içerisinde hangi fonksiyonlar var?

Gördüğünüz gibi modülümüze içe aktardık. Sonrasında print fonksiyonunun içerisinde 'dir' şeklinde bir fonksiyon daha verdik. Bunun amacı, içerisine verilen modülün içindeki fonksiyonları bize göstermektir. Bunun için dir(math) dedik ve ekrana yazdırılması için de print ekledik.

Çıktıya baktığınızda math modülü içerisinde bir sürü işlevin bulunduğunu göreceksinizdir. Biz, bunların arasından sadece pow ve sqrt fonksiyonlarını öğreneceğiz. Kalanını öğrenmek size kalmıştır. Ancak gördüğünüz üzere içerisinde trigonometri, logaritma gibi konularda kullanılanlar da mevcut.

Bu iki fonksiyona geçmeden önce, bir modül hakkında daha detaylı bilgiler edinebileceğiniz bir metot göstermek istiyorum; 'help()'.

help, dir'e benzer şekilde kullanılır. Fonksiyonun ismini yazdıktan sonra parantezleri açarsınız ve içerisine, hakkında bilgi istediğiniz modülü girersiniz. Biz de aynı şeyi uyguladık ve gördüğünüz üzere karşımıza, hangi fonksiyonun ne işe yaradığını kısa ve net bir şekilde anlatan ve nasıl kullanıldığını gösteren bir doküman çıktı.

Şimdi, pow ile başlayalım istiyorum.

pow, üs alma işlemini yapar. Bu noktada bir fonksiyon çağırdığımız için değerleri, yine parantezler içerisine girmemiz gerektiğini artık biliyorsunuz. Nasıl yapıldığına bakalım.

Kodu yazarken karşıma, aşağıdaki görseldeki gibi bir görüntü geldi.

math, bizim modülümüzdü ve içerisinde bir sürü fonksiyon olduğunu belirtmiştim. Bu noktada math. dediğim zaman karşıma, math içerisinde bulunan ve seçebileceğim fonksiyonların bir listesini getirdi. Buradan istediğim fonksiyonu seçebilirim. Ben, pow'u seçeceğim.

math.pow(num1, 3) şeklinde bir ifade verdim ve karşıma '8.0' sonucu geldi. Anlayacağınız üzere pow fonksiyonuna verilen ilk değer taban, ikinci değer ise üs konumundadır. Burada biz, "num1 üzeri 3" yani "2 üzeri 3" demiş olduk ve karşımıza 8.0 sonucu geldi. Elbette, değişken kullanmak zorunda değilsiniz ancak size lazım olacağına eminim. Burada, iki değeri de normal bir sayısal değer olarak kullanabilirsiniz. Ayrıca iki değeri de değişken olarak geçebilirsiniz. İsterseniz f-string ile bunu daha güzel bir duruma getirelim.

Syntax biraz karışık gelebilir ama kullandıkça vazgeçmek istemeyeceğinize eminim. math modülünün pow fonksiyonu bu şekildeydi.

Şimdi, sqrt fonksiyonuna bakalım.

sqrt, kök almamıza olanak tanıyan bir fonksiyondur. Bu fonksiyon, tek bir değer alır.

Gördüğünüz gibi float değerler dahil, ne değer verirseniz verin bunun kökünü alacaktır ancak verdiğiniz değer negatif olamaz. Eğer negatif bir değer verirseniz hata alacaksınızdır.

Mod Almak

Mod alma işlemi bize bir bölme işleminde kalanı getirir. Örneğin 16/2 ifadesinde kalan 0 olacağı için mod değeri de 0 olacaktır. Bildiğiniz üzere eğer kalan 0 ise sayı çift, 1 ise sayı tektir. İşte, bu kısımda mod alırken ilk önce math modülünden yararlanacağız, sonra da ilkel yol ile nasıl yapıldığını göreceğiz.

Sadece süslü parantezler arasında bulunan ve kırmızı çizgi ile altı çizilen kısımlara bakabilirsiniz. Bu noktada mod alma işlemi için math modülündeki fmod() fonksiyonunu kullanıyoruz. Bu fonksiyon iki adet argüman alıyor; bunlardan birincisi bölünecek olan sayı iken ikincisi bölen sayıdır. Örneğin ilk satırdaki math.fmod(16, 2) ifadesi ile 16 sayısını 2 rakamına bölüyoruz ve kalan değerimiz 0 olarak karşımıza çıkıyor. Bu noktada şu cümleyi kurabiliriz: "16'nın 2'ye göre modu 0'dır".

Bir de ilkel yönteme bakalım.

İlkel yöntemlerle mod almak için % operatörünü kullanıyoruz. Bu işarete SHIFT + 5 kombinasyonu ile erişebilirsiniz.

Kuvvet Alma

Bileceğiniz üzere üslü sayılarda tabandaki sayı, kuvvet kısmında bulunan sayı kadar çarıpılır. Örneğin 3 üzeri 3 ifadesinde işlemimiz şu şekilde olacaktır:

3x3x3 = 27

Bunu math modülündeki pow() fonksiyonuyla yapmayı biraz önce öğrendiniz. Şimdi, ilkel yolla nasıl yapıldığını göreceğiz.

Çarpma işlemi için bir adet yıldız işareti kullanırken kuvvet alma işlemi için iki adet yıldız işareti kullanıyoruz. Bu iki yıldız işaretinin solunda kalan sayı taban olurken sağ tarafında kalan sayı kuvvet oluyor. Örneğin ilk örnekte biraz önce yaptığımız işlemi görüyorsunuz. Yahut son örnekte 4 üzeri 2 demiş oluyoruz ki sonucunun 16 olduğunu görüyorsunuz (4x4 = 16).


Yayınlanma Tarihi: 2022-10-22 17:56:07

Son Düzenleme Tarihi: 2023-02-04 22:05:44