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.0Not: 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;
- 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.
- Ç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.
- Toplama ve Çıkarma; Matematiksel ifadede en son, toplama ve çıkarma işlemleri gerçekleştirilir.
- 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.0Gö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önder