95 lines
4.0 KiB
Plaintext
95 lines
4.0 KiB
Plaintext
# 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")
|