# Değişkenler: sayı, ondalık, metin ve mantık türleri, dönüşümler ve aritmetik # # Değişken, bir değere verilen addır. "ad = değer" yazınca değer o ada bağlanır. # Türü yazmak gerekmez; KabaLang değere bakıp türü kendisi anlar. # ── Dört temel tür ───────────────────────────────────────────── ogrenci = "Mehmet" # metin : tırnak içindeki yazı yas = 17 # sayi : tam sayı boy = 1.74 # ondalik : virgüllü sayı (Türkçedeki virgül yerine nokta yazılır) mezun = yanlis # mantik : dogru ya da yanlis yazdir(f"Öğrenci: {ogrenci}, yaş: {yas}, boy: {boy} m, mezun: {mezun}") # Değişkene yeni bir değer atanabilir; eski değer unutulur. yas = 18 mezun = dogru yazdir(f"Bir yıl sonra: yaş {yas}, mezun: {mezun}") # Uzun sayılarda basamakları _ ile ayırmak okumayı kolaylaştırır. nufus = 85_000_000 yazdir(f"Nüfus: {nufus} (binlik ayırıcıyla: {nufus:,})") # degismez ile tanımlanan değer bir daha değiştirilemez. # PI = 3 yazmaya kalkarsan derleyici programı çalıştırmadan durdurur. degismez PI = 3.14159 yazdir() # ── Aritmetik ───────────────────────────────────────────────── a = 17 b = 5 yazdir(f"{a} + {b} = {a + b}") yazdir(f"{a} - {b} = {a - b}") yazdir(f"{a} * {b} = {a * b}") yazdir(f"{a} / {b} = {a / b}") # / her zaman ondalık sonuç verir yazdir(f"{a} // {b} = {a // b}") # // tam bölme: küsuratı atar yazdir(f"{a} % {b} = {a % b}") # % bölümden kalan yazdir(f"2 ** 10 = {2 ** 10}") # ** üs alma yazdir() # İşlem önceliği matematikteki gibidir; parantez önceliği değiştirir. yazdir(f"2 + 3 * 4 = {2 + 3 * 4}") yazdir(f"(2 + 3) * 4 = {(2 + 3) * 4}") # Kısaltmalar: x += 5, "x = x + 5" demektir. -= ve *= de aynı mantıkla çalışır. puan = 10 puan += 5 puan *= 2 yazdir(f"Puan: {puan}") yazdir() # ── // ve % ile gerçek bir hesap ─────────────────────────────── # Toplam saniyeyi saat, dakika ve saniyeye ayıralım. toplam_saniye = 10_000 saat = toplam_saniye // 3600 dakika = (toplam_saniye % 3600) // 60 saniye = toplam_saniye % 60 # {dakika:02} sayıyı iki basamağa tamamlar: 6 yerine 06 yazar. yazdir(f"{toplam_saniye} saniye = {saat} saat {dakika:02} dakika {saniye:02} saniye") # Dairenin alanı: ondalık sayılarla hesap. {alan:.2f} virgülden sonra iki basamak yazar. yaricap = 2.5 alan = PI * yaricap * yaricap yazdir(f"Yarıçapı {yaricap} olan dairenin alanı: {alan:.2f}") yazdir() # ── Tür dönüşümü ────────────────────────────────────────────── # Türler kendiliğinden birbirine dönüşmez; dönüşümü açıkça yazarız. metin_sayi = "42" gercek_sayi = sayi(metin_sayi) # metinden tam sayıya yazdir(f"sayi(\"42\") + 8 = {gercek_sayi + 8}") fiyat = ondalik("19.90") # metinden ondalığa yazdir(f"ondalik(\"19.90\") * 3 = {fiyat * 3:.2f}") yazdir(f"sayi(3.99) = {sayi(3.99)} (küsurat atılır, yuvarlanmaz)") yazdir(f"ondalik(7) / 2 = {ondalik(7) / 2}") # Bir sayıyı metne + ile eklemek için önce metin() ile çeviririz. yazdir("Sınıfta " + metin(24) + " öğrenci var.") # Dikkat: sayıya benzemeyen bir metin hata vermez, 0'a dönüşür. # Kullanıcıdan gelen sayıları denetlemenin yolu bir sonraki derste. yazdir(f"sayi(\"on iki\") = {sayi('on iki')}") yazdir() # ── Küçük bir alışveriş hesabı ───────────────────────────────── adet = 3 birim_fiyat = 249.90 kdv_orani = 0.20 ara_toplam = adet * birim_fiyat kdv = ara_toplam * kdv_orani yazdir(f"Ara toplam : {ara_toplam:>9.2f} TL") yazdir(f"KDV (%20) : {kdv:>9.2f} TL") yazdir(f"Toplam : {ara_toplam + kdv:>9.2f} TL")