Python Aritmetik Operatörler - Mustafa Sabri OĞUZ

Duyurular

8 Mart 2020 Pazar

Python Aritmetik Operatörler


Merhabalar, daha önce yazmış olduğum Değişkenler ve Sayısal Veri Tipleri yazılarımı okuduysanız, artık sıranın Matematiksel işlemler olan aritmetik operatörlere geldiğini anlamışsınızdır. Bu yazımda Python dili üzerinden matematiksel işlemleri nasıl gerçekleştirebileceğimizi öğreneceğiz.

Malum matematik hayatımızın hemen hemen her alanında bulunan bir olgu. Doğal olarak tekrarlanan yada hesaplanması zor olan matematiksel işlemleri, yazacağımız programlara yaptırabiliriz. Bir kaç örnek vermek gerekirse; muhasebe departmanı için binlerce işçinin aylık olarak alacağı maaş toplamını hesaplamak gerekebilir yada E-ticarette satacağınız ürünlerin fiyatı, kdv, ötv... vb vergi oranlarının hesaplanması gerekebilir veya trigonometri, geometrik hesaplamalar yapmak gerekebilir. Bu örnekler sektöre ve ihtiyaca göre çoğaltılabilinir.

Lafı fazla uzatmadan ilk operatörümüz olan + (artı) olan toplama operatörünü tanımakla başlayalım.

Artı (+) Toplama Operatörü

Toplama işlemlerini gerçekleştireceğimiz operatör "+" artı operatörüdür. Minimum 2 veya sonsuz sayıda sayısal değişkenlerin arasına operatörü yazarak, toplama işlemlerini gerçekleştirebiliriz.
sayi1 = 1453
sayi2 = 547

sonuc = sayi1 + sayi2

print("Sonuç değeri : ", sonuc)

# Çıktı Sonucu
# Sonuç değeri : 2000

Eksi (-) Çıkarma Operatörü

Çıkarma işlemlerini gerçekleştireceğimiz operatör "-" eksi operatörüdür.  Minimum 2 veya sonsuz sayıda sayısal değişkenlerin arasına operatörü yazarak, çıkarma işlemlerini gerçekleştirebiliriz.
sayi3 = 3043
sayi4 = 1500

sonuc = sayi3 - sayi4

print("Sonuç değeri : ", sonuc)

# Çıktı Sonucu
# Sonuç değeri : 1543

Yıldız (*) Çarpma Operatörü

Çarpım işlemlerini gerçekleştirebileceğimiz operatörü "*" yıldız operatörüdür. Minimum 2 veya sonsuz sayıda sayısal değişkenlerin arasına operatörü yazarak, çarpım işlemlerini gerçekleştirebiliriz.
sayi5 = 1000
sayi6 = 3

sonuc = sayi5 * sayi6

print("Sonuç değeri : ", sonuc)

# Çıktı Sonucu
# Sonuç değeri : 3000

Ters Slash (/) Bölme Operatörü

Bölme işlemlerini gerçekleştirebileceğimiz operatörü "/" ters slash operatörüdür. Minimum 2 veya sonsuz sayıda sayısal değişkenlerin arasına operatörü yazarak, bölme işlemlerini gerçekleştirebiliriz.
sayi7 = 1000
sayi8 = 5

sonuc = sayi7 / sayi8

print("Sonuç değeri : ", sonuc)

# Çıktı Sonucu
# Sonuç değeri : 200.0

Yüzde İşareti (%) Mod Operatörü

Kalan işlemlerini gerçekleştirebileceğimiz operatörü "%" yüzde operatörüdür. Minimum 2 veya sonsuz sayıda sayısal değişkenlerin arasına operatörü yazarak, bölme işleminden kalan sayıyı bulma işlemlerini gerçekleştirebiliriz.
sayi9 = 999
sayi10 = 5

sonuc = sayi9 % sayi10

print("Sonuç değeri : ", sonuc)

# Çıktı Sonucu
# Sonuç değeri : 4

Operatörlerin Birlikte Kullanımı

Karışık matematik problemlerinde olduğu gibi operatörleri birlikte kullanarak hesaplama yapabiliriz. Şimdi öğrendiğimiz operatörlerin birlikle kullanımını basit bir örnekle görelim.

Bir otelde kırk adet oda vardır. Her oda da ikişer yatak bulunmaktadır.
Dün akşam oteli kullanan müşteriler nedeniyle otel odalarının yarısı temizlik nedeniyle servis dışıdır.
Sabaha karşı yirmi yatak, personel tarafından temizlenerek hazır hale getirilmiştir.
Aynı zamanda otel 5 odalık müşterisini kabul etmiştir.
Bu durumda müşterilere kiralanabilecek kaç yatak vardır?

Öncelikle bu problemin sonucunu kendiniz bulmaya çalışın. Sonucu elde ettiysek, bu problem Python'da nasıl yazılır ve sonucu neymiş görelim.
# Değişkensiz Kullanım Örneği
sonuc = 40 * 2 / 2 + 20 - 5 * 2
print("Kiralanabilecek Yatak Sayısı: ", sonuc)

# Sonuç : Kiralanabilecek Yatak Sayısı:  50.0

# Değişkenli kullanım örneği
ToplamYatakSayisi = 40 * 2
ServisDisiYatakSayisi = 2
TemizlenenYatakSayisi = 20
KiralananYatakSayisi = 5 * 2
KalanYatakSayisi = ToplamYatakSayisi / ServisDisiYatakSayisi + TemizlenenYatakSayisi - KiralananYatakSayisi

print("Kiralanabilecek Yatak Sayısı: ", KalanYatakSayisi)

# Sonuç : Kiralanabilecek Yatak Sayısı:  50.0
Not: Daha kolay anlamanız için Değişkenli ve Değişkensiz kullanım örnekleri oluşturdum. Aslında her iki ifade aynıdır. Kafalar karışmasın diye belirtmek istedim.
Evet, Python'da bu işlemi yaptıysak, kendi bulduğunuz sonuçla, Python'a sorduğunuz sonuç aynı olmalı. Görüldüğü üzere aritmetik işlemleri tek bir ifade de kullanarak, dilediğimiz hesaplamayı gerçekleştirebiliyoruz.

İşlem Önceliği (Operatör Önceliği)

Matematikte birden fazla aritmetik işlemin tek ifadede doğru hesaplanabilmesi için kullandığımız bir kural vardır. Bu kurala matematikte işlem önceliği denilir. Bu durum programlamada da farklı değildir ve dikkat edilmesi gereken bir konudur.

Genelde hesaplama işlemlerini gerçekleştirirken iki sayının işlemini gerçekleştirir ve elde edilen sonucu başka bir sayı ile işleme alırız. Lakin üstte ki resim gibi birden fazla işlemin (operatörün) içerdiği yazılı bir aritmetik ifade ile karşılaştığımızda ve diyelim ki bu kuraldan da bir haberiz, başlarız soldan sağa doğru hesaplamaya... Dilerseniz üstteki işlemin sonucuna bakmadan hesaplamaya çalışın. Göreceksiniz ki farklı bir sonuç ile karşı karşıya kalacağız. Öyle değil mi?

İşte buraya kadar öğrendiğimiz operatörlerin, matematikte ki kurala göre işlem öncelikleri bulunuyor. Bunlar sırasına göre soldan sağa doğru önce hesaplanır ve sonuca ulaşılır. Bu sıralamayı bozan bir parametremiz var ki bunu resimde de görebilirsiniz ki, bunlar "(" - ")" parantezlerdir. Bu parantezler arasına yazılan işlemler, hangi operatörü içerirse iç-ersinler  öncelik her zaman parantezli işlemler dedir. Yani önce hesaplamak istediğiniz işlemleri parantezler içerisine yazmanız gerekiyor.

Operatörlerin işlem önceliğini sıralamaya çalışalım;
  1. Parantezler; arasına yazılan işlemler daima ilk önce onlar hesaplanır. Eğer birden fazla işlem içeriyorlarsa, aynı önceliklendirme sırası parantez içinde de uygulanır.
  2. Çarpma ve Bölme; Matematiksel ifadede parantezlerin varlığı yok ve kalmamış ise ikinci sırada daima operatörlerin ilgili sayıları arasında hesaplama yapılır.
  3. Toplama ve Çıkarma; Matematiksel ifadede en son, toplama ve çıkarma işlemleri gerçekleştirilir.
  4. Ve böylece sonuca ulaşmış oluyoruz.
Not: Çarpma ve Bölme yada Toplama ve Çıkarma işlemlerinin birbirine göre aynı seviyede olduğunu fark etmişsinizdir. Aynı seviyeli operatörlerde ise durum her zaman soldan sağa doğru hesaplama gerçekleştirildiğinden soldan ilk gelen operatör önceliklidir.
Bu kuralı da öğrendiğimize göre Matematiksel bir ifadeyi Python'da nasıl gerçekleştirebileceğimizi görelim.
## Operatörlerin işlem önceliği
## 165 / (31 - 26) x 3 işleminin sonucu kaçtır?

sonuc = 165 / (31 - 26) * 3
print("İşlemin Sonucu: ", sonuc)

# Çıktı Sonucu
# İşlemin Sonucu:  99.0
Görüldüğü üzere Python üzerinde aritmetik işlemler yapmak bu kadar basit. Bunların dışında Python'da "math" isminde bir sınıf bulunmaktadır. Bu sınıf ile ileri matematik işlemleri yapabiliyoruz. Şuan ki konumuz operatörler olduğundan "math" sınıfını ilerleyen yazılarımda anlatacağım.

Umarım buraya kadar yazım yeterince açıklayıcı olmuştur. Bir sonra ki yazımda görüşmek üzere, kendinize iyi bakın.

Hiç yorum yok:

Yorum Gönderme