7. derste üç bölüm var; A, B, C. İstediğiniz sırayla devam edebilirsiniz.
Bu derse kadar Python'da dört işlem operatörleri +
, -
, *
, /
; max
ve min
. fonksiyonları kullanarak matematik işlemleri yapmıştık. Bu derste biraz daha karmaşık işlemler yapabilmek için daha fazla matematik operatörü ve fonksiyonlar göreceğiz.
Matematik İşlemleri
Daha önce gördüğümüz işlemler toplama (a + b
), çıkarma (a - b
), çarpma (a * b
) ve bölme (a / b
). Şimdi bunlara ek olarak üç operatör daha kullanacağız.
- Kuvvet (power) operatörü
a ** b
işlemi ileab
(a
sayısını kendi kendi ileb
kere çarpmak). Örneğin,2 ** 3
8
eder (çünkü 2×2×2). - Tamsayı bölme (integer division) operatörü
a // b
işlemi ilea
sayısıb
sayısına bölünür ve kalan silinir. Örneğin,14 // 3
işleminde kalan yok sayılır ve sonuç4
yazılır. - Modülüs (modulus) operatörü
a % b
işlemi ilea
sayısıb
sayısına bölündüğünde kalanı hesaplanır. Örneğin,14 % 3
işleminin sonu2
olur.
Modülüs işlemcisi farklı görevlerde kullanılır. Aşağıdaki sorulara cevap vermekte de bu işlemciyi kullanabiliriz:
- Şu an saat 10.00 ise; 100 saat sonra saat kaç olacak? (12 ile modülüs bölmesi yapabiliriz)
- 2032 yılı artık yıl mı olacak? (4, 100, ve 400 ile modülüs bölmesi yapmak gerekiyor)
Artık yıl hesaplama bölünebilme testidir; bir sonraki alıştırmada genel bir bölünebilme testi yazmanızı isteyeceğiz.
Matematik Fonksiyonları
Python ile bilimsel hesap makinesinde yapılan pek çok işlemimn hesaplaması yapılabilir.
sqrt(x)
x
sayısının kaekrökünü hesaplar.exp(x)
velog(x)
üstel ve doğal logaritmik fonksiyonlardır.sin(x)
,cos(x)
,tan(x)
ve diğer trigonometri fonksiyonları mevcuttur.pi
, sabit sayısı3.1415...
, da dâhildir.
Python'da trigonometri fonksiyonları kullanılırken x açısı derece olarak değil radyan olarak verilmelidir. |
Python'daçok fazla fonksiyon bulunduğu için bunlar modüller olarak grupara ayrılır. Yukarıdaki fonksiyonlar math
modülüne dâhildir. Bir modülden bir fonksiyon kullanmadan önce, söz konusu modül, aşağıdaki örnekteki gibi ithal (import) edilmelidir. Bir modüle ait bir fonksiyonu kullanmak için önce modül adını, periyodu ve ardından fonksiyon adını yazmak gerekir.
Hepsini birleştirme
Bir önceki alıştırmada gördüğümüz gibi çeşitli işlemleri birleştirerek matematiksel ifadeler oluşturabiliriz. Python'da da işlemlerin yapılış sırası matematik derslerimizde öğrendiğimiz gibidir:
İşlemlerin yapılış sırası önce Parantezler, Üsler, Bölme, Çarpma, Ekleme ve en son Çıkarma şeklindedir.
(İngilizce kelimelerin ilk harflerinden kısaltma yaparak hatırlamaya çalışabilirsiniz: Brackets, Exponents, Division, Multiplication, Addition, Subtraction "BEDMAS"). Tamsayı bölme ve katsayı (modulus) "Bölme ve Çarpma" kategorisine girer. Bir örneğe bakalım:
3 * (1 + 2) ** 2 % 4işleminde önce parantezi içi toplama işi (1+2 = 3); sonra üs, 3'ün 2. kuvveti (3 ** 2 = 9); sonra çarpım (3 * 9 = 27) ve en son da katsayı 27 % 4 =
3
bulunur.
6 - 52 // 5 ** 2
Tamsayıların negatif sayılara bölünmesi: a // b
ve int(a / b)
ifadeleri a
ve b
sayılarının ikisi de pozitif tamsayılar olduğu durumlarda aynıdır. Ama a
negatif ise, a // b
işleminde "eksi sonsuza kadar yuvarlama" ve int(a / b)
işleminde ise "0'a doğru yuvarlama" kullanılır.
Tam ve Kayan Noktalı Sayılar
Bir matematik işleminin sonucu bir sayıdır. Daha önce gördüğümüz gibi sayılar iki tipten biri şeklinde olabiliyor: int
veya float
. Negatif veya pozitif tamsayılar int
tipindedir ve istediğiniz kadar büyük olabilir.
Python'da sayıları 1 000 000 veya 1,000,000 şeklinde yazamayız. Onun yerine 1000000 yazmalısınız. |
Ondalıklı sayılarfloat
tipindedir. Bir hesap makinesinde 1/3
sayısının 0.33333333
şeklinde yaklaşık olarak gösterildiği gibi Python da kesirli sayıları yaklaşık ondlıklı değerleriyle saklar.
Python yaklaşık ondalıklı sayıları kullandığı için matematikte doğru kabul ettiğimiz bazı eşitlikler, Python'da doğru kabul edilmeyebilir.
Bu sebeple, bu yuvarlamaları float tipinde sayılar söz konusu olduğuda esnek bir şekilde kabul etmek gerekir. Mesela, bu web sayfasında kullanılan düzenleyici, herhangi bir float outputu doğru kabul eder; yaklaşık eşit cevabını bekliyoruz. |
Bu dersi birkaç alıştırma ile bitirelim.
Tebrikler! Bu alıştırmaları bitidiğinize göre diğer derslere geçebiliriz.