Files

3.0 KiB

baslik, bolum, ozet
baslik bolum ozet
Tür dönüşümleri Temeller sayi(), ondalik() ve metin() ile türler arasında geçiş

Türler kendiliğinden birbirine dönüşmez. Kullanıcıdan ya da bir dosyadan gelen "42" bir metindir; onunla hesap yapmak için önce sayıya çevirmen gerekir. Dönüşümü her zaman açıkça yazarsın.

Üç dönüşüm fonksiyonu

Fonksiyon Ne yapar Örnek Sonuç
sayi(x) tam sayıya çevirir sayi("42") 42
ondalik(x) ondalık sayıya çevirir ondalik("2.75") 2.75
metin(x) metne çevirir metin(24) "24"

Metinden sayıya

yas_yazi = "17"
yas = sayi(yas_yazi)
yazdir(yas + 1)

fiyat = ondalik("19.90")
yazdir(fiyat * 2)
18
39.8

Baştaki ve sondaki boşluklar sorun olmaz: sayi(" 42 ") da 42 verir.

Sayıdan metne

Bir metni sayıyla + ile birleştiremezsin. Önce sayıyı metin() ile çevir.

ogrenci = 24
yazdir("Sınıfta " + metin(ogrenci) + " öğrenci var.")
Sınıfta 24 öğrenci var.

İpucu: Metinle sayıyı yan yana yazmanın daha kolay bir yolu var: f"Sınıfta {ogrenci} öğrenci var.". Bunu Biçimlendirme dersinde göreceksin.

ondalik ile sayi arasında

sayi() bir ondalığın küsuratını atar, yuvarlamaz. ondalik() tam sayıyı ondalığa çevirir.

yazdir(sayi(3.99))
yazdir(sayi(-3.99))
yazdir(ondalik(7))
yazdir(ondalik(7) / 2)
3
-3
7.0
3.5

Yuvarlamak istiyorsan matematik.yuvarla() kullanırsın; onu Modüller dersinde göreceksin.

Mantık değerini metne çevirmek

gecti = dogru
yazdir("Sonuç: " + metin(gecti))
Sonuç: doğru

Dikkat: sayi() metni tam sayıya çevirir: sayi("3.9") ondalık kısmı atar ve 3 verir. Sayı olmayan bir metin (sayi("on iki")) ise programı hata iletisiyle durdurur. Ondalık bir metni önce ondalik() ile çevir. Kullanıcıdan gelen sayıyı güvenle okumanın yolunu Kullanıcıdan girdi dersinde öğreneceksin.

yazdir(sayi(ondalik("3.9")))
3

Gerçek bir örnek: virgülle ayrılmış veriler

Bir satırdaki verileri metin olarak alıp sayıya çevirerek hesap yapalım. bol(";") metni parçalara ayırır (ayrıntısı Metin işlemleri dersinde).

satir = "Defter;3;24.50"
parca = satir.bol(";")
urun = parca[0]
adet = sayi(parca[1])
fiyat = ondalik(parca[2])
yazdir(urun + ": " + metin(adet * fiyat) + " TL")
Defter: 73.5 TL

Alıştırma

`a` ve `b` metin olarak verilmiş. İkisini sayıya çevirip toplamını yazdır.
%%%
a = "125"
b = "75"
# buraya yaz
%%%
a = "125"
b = "75"
yazdir(sayi(a) + sayi(b))
%%%
200
`metin()` kullanarak `Toplam: 3 ürün, 45.5 TL` satırını yazdır. Sayıları değişkenlerden al, `+` ile birleştir.
%%%
adet = 3
tutar = 45.5
# buraya yaz
%%%
adet = 3
tutar = 45.5
yazdir("Toplam: " + metin(adet) + " ürün, " + metin(tutar) + " TL")
%%%
Toplam: 3 ürün, 45.5 TL