Bilgisayar Bilimi

Python İle Programlamanın Temelleri-3

İfadeler ve Aritmetik İşlemler

1.Sabit Değerler

Sabit değerler (ör. 34) ve değişkenler (ör. x) basit ifadelerdir. Değerleri ve değişkenleri birleştirmek ve daha karmaşık ifadeler oluşturmak için operatörler kullanabiliriz. Aşağıdaki örnekte kullanıcı tarafından girilen 2 sayıyı toplamak için toplama operatörü kullanabiliriz.

deger1 = int(input(“Bir sayı giriniz: “))
deger2 = int(input(“Lütfen diğer sayıyı giriniz: “))
toplam = deger1 + deger2
print(deger1, “+”, deger2, “=”, toplam)

2.Python’da Sık Kullanılan Aritmetik İkili Operatörler

Python programlama dilinde kullanılan aritmetik operatörler aşağıdaki tabloda yer almaktadır:

Python’da Sık Kullanılan Aritmetik İkili Operatörler

Tablo’da belirtilen operatörlerin ikili operatör olarak belirtilmesinin nedeni 2 işlenen (operand) üzerinde çalışmasıdır. x = y + z deyiminde, atama operatörünün sağ tarafında y + z bir toplamsal ifadedir. + operatörünün iki işleneni y ve z’dir.

+, -, *, //, %, or ** operatörlerini 2 sayıya uyguladığımızda sonuç tam sayı olacaktır.

print(25//4, 4//25) yazdığımızda 6 ve 0 sonuçlarını verecektir.

Mod operatörü (%) sayı bölümünden kalanı hesaplar. print(25%4, 4%25) yazdığımızda 1 ve 4 sonuçlarını verecektir.

/ operatörü 2 sayıya uygulandığında ondalıklı sayı döndürür. print(25/4, 4/25) yazdığımızda 6.25 0. 16 sonuçlarını verecektir.

3.Karışık Türlü İfadeler

İfadeler tam sayı ve ondalıklı sayı değerlerini içerebilir. Örneğin,

x = 4
y = 10.2
toplam = x + y

X, bir tam sayıdır ve Y, bir ondalık sayıdır. x + y ifadesin türü , / operatörü hariç, sadece tam sayılar içeren aritmetik ifadeler bir tam sayı sonuç üretir. Ondalıklı sayılara uygulanan tüm aritmetik operatörler bir ondalıklı sonuç üretir.

4.Operatör Önceliği ve Birleşim

Farklı operatörler aynı ifadede yer aldığında, aritmetiğin normal kuralları uygulanır. Tüm Python operatörlerinde öncelik (precedence) ve birleşim (associativity) vardır.

Öncelik, bir ifade iki farklı türde operatörler içerdiği zaman, hangisi ilk olarak uygulanacak?

Birleşim, bir ifade aynı önceliğe sahip iki operatörleri içerdiği zaman, hangisi ilk olarak uygulanacak?

Çarpımsal operatörler (*, /, // ve %) birbirleri ile eşit önceliğe sahiptir ve toplamsal operatörler

(ikili + ve -) birbirleri ile eşit önceliğe sahiptir.

Çarpımsal operatörleri, toplamsal operatörleri üzerinde önceliğe sahiptir.

Standart aritmetikte olduğu gibi bir Python programcısı öncelik kurallarını geçersiz kılmak için ayraçları kullanabilir ve çarpmadan önce toplama işleminin yapılmasını sağlayabilir.

Her satırdaki operatörler, altındaki operatörlerden daha yüksek bir önceliğe sahiptir. Bir satır içerisinde yer alan operatörler aynı önceliğe sahiptir.

Operatör Önceliği ve Birleşim



5.İfadeleri Biçimlendirme

Python, aritmetik ifadeleri biçimlendirmek için önemli bir esneklik sunar;

3x + 2y-5

Cebirin aksine, Python dilinde örtülü hiçbir çarpma yoktur. Bu, 3x’i , 3 * x olarak yazmak gerektiği anlamına gelir. * operatörünü atamayabiliriz. Boşluk, operatör önceliğini etkilemez.

print(3*x + 2*y -5)
print(3*x+2*y-5)
print(3 * x + 2 * y – 5)
print(3 * x+2 * y-5)
print(3 * (x+2) * (y-5))
print(3*(x + 2)*(y – 5))

6.Yorumlar

Python programlama dilinde yazılan programlar uzadıkça karmaşık bir hâl alabilir. Bu da zamanla okumayı ve hatta hataları bulmayı zorlaştırabilir. Bu durumu ortadan kaldırmak ve programcıya yardımcı olması amacı ile programa küçük notlar hâlinde açıklama eklenmesi gerekebilir. # işareti ile program içerisine yorum yazmak, açıklama eklemek mümkündür. Olası kullanım durumları aşağıda belirtilmiştir:

# Girilen dakika değerinin kaç saat olduğunu hesaplar.

yuzde=(dakika*100)/60

Bir satırın sonuna da yorum eklenebilir.

yuzde=(dakika*100)/60 # dikkat: bir saatten küçük değerler ondalıklı sonuç verecektir.

Yorum satırlarını derleyici, göz ardı eder ve ilgili satırın sonuna kadar programın çalışmasına herhangi bir etki etmez. Yorum satırları ile küçük hatırlatma yapmak veya daha başka programcılar için uyarılar eklemek program geliştirme sürecine yardımcı olabilir.

7.Hatalar

Python’da, üç genel hata türü vardır: söz dizimi hataları, çalışma zamanı istisnaları ve hataları. Yorumlayıcı tüm geçerli Python programlarını çalıştırmak için tasarlanmıştır. Yorumlayıcı Python kaynak dosyasını okur ve yürütülebilir bir forma çevirir. Bu, çeviri aşamasıdır (Translation). Yorumlayıcı bir çeviri aşamasında geçersiz program deyimi algılarsa bu, programın yürütülmesini sonlandıracak ve bir hata raporu verecektir. Bu tür hatalar programcının dili kötü kullanmasından kaynaklanmaktadır. Bir söz dizimi hatası, bir Python deyimi makine diline çevirmeye çalışırken yorumlayıcı tarafından algılanabilen yaygın bir hatadır. Aşağıdaki programda, yorumlayıcı bir hata mesajı verecektir. Hatalı bir atama işlemi yapmaya çalışmaktadır.

Hatalar

Diğer yaygın söz dizimi hataları şunlardır:

Eşleşmeyen ayraç gibi basit yazım hataları ()3 + 4))

Eşleşmeyen harf dizini tırnak işaretleri ((‘hello”))

Hatalı girinti (faulty indentation)

Yorumlayıcı, söz dizimi hatalarını programı çalıştırmaya başlamadan önce algılar ve bu nedenle söz dizimi hatalarını içeren bir programın herhangi bir parçasını çalıştırmaz.

7.1.Çalışma Zamanı Hataları

Doğru yazılmış bir Python programının hâlâ sorunları olabilir. Bazı dil hataları programın yürütülmesi durumuna bağlıdır. Yorumlayıcı bir istisna yaratır. Çalışma zamanı istisnaları yorumcunun çeviri aşamasından sonra ve programın yürütme aşamasında ortaya çıkmaktadır.

Yorumlayıcı aşağıdaki gibi söz dizimsel olarak doğru bir ifade için bir istisna verebilir.

x = y + 2 d

Eğer y değişkeni henüz atanmamışsa;

(NameError: name “y” is not defined) hatası mesajını verir.

Kullanıcıyı 32 (pay) ve 0 (payda) olarak yazdığınızda

Zero Division Error: division by zero

veya harf dizinini bölmeye kalktığınız takdirde

unsupported operand type(s) for /: “str” and “int” uyarısı alabilirsiniz.

7.2.Mantık Hataları

Bölünen/bölen ifadesi yerine bölen/bölünen olarak değiştirdiğinizde etkilerini düşünün. Program çalışır ve kullanıcı bölünene sıfır değeri girmedikçe, yorumlayıcı hata raporu vermeyecektir. Ancak hesaplanan cevap genel olarak doğru değildir. Program sadece bölünen ile bölen eşit olduğu zaman doğru cevap yazdıracaktır. Program bir hata içermektedir. Fakat yorumlayıcı sorunu algılayamaz. Bu tür bir hata, bir mantık hatası olarak bilinir. Yorumlayıcı, mantık hatalarının konumu için herhangi bir fikir sağlamakta güçsüzdür. Mantık hataları, bu nedenle, bulma ve onarmakta en zor olma eğilimindedir. Yorumlayıcı mantık hatalarına yönelik hiçbir yardımda bulunmaz.




8.Aritmetik Örnekler

Örnek: Sıcaklığı Fahrenheit derecesinden Celcius derecesine dönüştürmek istediğinizi varsayalım.

>>> # Sıcaklık değerini okumak için
>>> dereceF = float (input (“Sıcaklığını F derece olarak girin:”))
>>> # Dönüşümü gerçekleştirin
>>> dereceC = 9/5 * (dereceF – 32)
>>> # Sonucu bildir
>>> print (dereceF, “derece F =”, dereceC, “C derece”)
Sıcaklığını F derece olarak girin: 212
212 ° F = 100.0 ° C

Örnek: Kullanıcının girdiği saniyeleri, saat, dakika ve saniye olarak parçalara ayıran programda tam sayı bölme ve modül kullanır.

>>> saniye = int (input (“saniye sayısını girin:”))
>>> saat = saniye // 3600 # 3600 saniye = 1 saat
>>> saniye = saniye% 3600
>>> dakika = saniye // 60 # 60 saniye = 1 dakika
>>> saniye = saniye% 60
print (saat, “sa”, dakika, “dk”, saniye, “sn”)

Kullanıcı 10000 girerse program 2 saat, 46 dakika, 40 saniye yazdırır.

Örnek: Dijital saat ekranlarında yapıldığı gibi dakika ve saniyelerde tek haneli değerlerin önüne sıfır koymak için bazı ekstra aritmetik gerekir.

>>> saniye = int (input (“saniye sayısını girin:”))
>>> saat = saniye // 3600 # 3600 saniye = 1 saat
>>> saniye = saniye% 3600
>>> dakika = saniye // 60 # 60 saniye = 1 dakika
>>> saniye = saniye% 60
>>> print (saat, “:”, sep = “”, end = “”)
>>> onlar = dakika // 10
>>> birler = dakika % 10
>>> print (onlar, birler, “:”, sep = “”, end = “”)
>>> onlar = saniye // 10
>>> birler = saniye% 10
>>> print (onlar, birler, sep = “”)

9.Aritmetik İfadeler

Python basit aritmetik aracılığıyla bir değişkeni değiştiren bir deyimin basitleştirilmesinde daha genel bir yol sağlar. Örneğin x= x + 5 deyimi x + = 5 olarak kısaltılabilir. Bu ifade “ x’i 5 arttır.” anlamına gelir. x * = y + z deyimi ile x = x * (y + z) deyimi aynıdır.

Örnek:

>> y=5
>>> y=y+15
>>> x=5
>>> x+=15
>>> print(“x–>”,x,” y–>”,y)
x–> 20 y–> 20

Bu örnekte ilk olarak x ve y değişkenlerine 5 değeri aktarılmış sonra aynı değişkenlerin üzerine 15 değeri farklı yöntemlerle eklenmiştir. Print komutuyla ekrana yazdırıldığında çıkan değerlerin aynı olduğu görülecektir.

İki veya daha fazla ifadeyi karşılaştırmak gereken koşullu durumlarda koşul ifadeleri kullanılır. Koşul ifadeleri, program yazarken çok kullanılan ifadelerden biridir. Farklı türden durum ve/veya koşulları ifade etmek için kullanılan koşul ifadeleri sırayla açıklanmıştır.


İfadeler ve Aritmetik İşlemler konusu ile ilgili sunum dosyasına ve konu testine (yakında) aşağıdan ulaşabilirsiniz.

Sunu İndir2

Online Test Çöz2

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir