--- baslik: Biçimlendirme bolum: Temeller ozet: f-string ile değerleri metne yerleştirmek, basamak ve hizalama --- Metinle sayıları `+` ve `metin()` ile birleştirmek çabuk karışır. Biçimli metin (f-string) bunu çok kolaylaştırır: değişkenleri doğrudan metnin içine yazarsın. ## f-string Metnin önüne `f` koy, değerleri süslü parantez `{}` içine yaz. ```kbl ad = "Deniz" yas = 14 yazdir(f"{ad} {yas} yaşında.") ``` ```cikti Deniz 14 yaşında. ``` Süslü parantezin içine hesap da yazabilirsin. ```kbl adet = 3 fiyat = 12 yazdir(f"{adet} kalem toplam {adet * fiyat} TL.") ``` ```cikti 3 kalem toplam 36 TL. ``` ## Ondalık basamak sayısı `{deger:.2f}` virgülden sonra 2 basamak yazar ve yuvarlar. ```kbl pi = 3.14159 fiyat = 49.9 yazdir(f"{pi:.2f}") yazdir(f"{fiyat:.2f} TL") yazdir(f"{0.1 + 0.2:.2f}") ``` ```cikti 3.14 49.90 TL 0.30 ``` ## Sıfırla doldurmak `{deger:02}` sayıyı en az 2 basamağa tamamlar; eksik basamaklar sıfır olur. Saat ve tarih yazarken işe yarar. ```kbl saat = 9 dakika = 5 yazdir(f"{saat:02}:{dakika:02}") ``` ```cikti 09:05 ``` ## Binlik ayırıcı ve yüzde ```kbl nufus = 85_372_377 oran = 0.256 yazdir(f"{nufus:,}") yazdir(f"{oran:.1%}") ``` ```cikti 85,372,377 25.6% ``` ## Hizalama `{deger:<10}` değeri 10 karakterlik alana sola, `{deger:>10}` sağa, `{deger:^10}` ortaya yaslar. Tablo yazmak için birebirdir. ```kbl yazdir(f"[{'Rize':<8}]") yazdir(f"[{'Rize':>8}]") yazdir(f"[{'Rize':^8}]") ``` ```cikti [Rize ] [ Rize] [ Rize ] ``` Hizalama ile basamak sayısını birlikte de verebilirsin: `{fiyat:>8.2f}`. ```kbl yazdir(f"{'Ürün':<10}{'Fiyat':>8}") yazdir(f"{'Ekmek':<10}{12.5:>8.2f}") yazdir(f"{'Peynir':<10}{149.0:>8.2f}") ``` ```cikti Ürün Fiyat Ekmek 12.50 Peynir 149.00 ``` > **Dikkat:** f-string içinde metin yazarken iç tırnağı dıştakinden farklı seç: `f"{'Ürün':<10}"` doğrudur. Süslü parantezin kendisini yazmak için ikiler: `f"{{ }}"` ekrana `{ }` basar. ## Özet tablo | Yazım | Anlamı | Örnek | Sonuç | |---|---|---|---| | `{x:.2f}` | 2 ondalık basamak | `{3.14159:.2f}` | `3.14` | | `{x:03}` | 3 basamağa sıfırla tamamla | `{7:03}` | `007` | | `{x:,}` | binlik ayırıcı | `{1234567:,}` | `1,234,567` | | `{x:.0%}` | yüzde | `{0.5:.0%}` | `50%` | | `{x:<6}` | sola yasla | `[{'ab':<6}]` | `[ab ]` | | `{x:>6}` | sağa yasla | `[{'ab':>6}]` | `[ ab]` | | `{x:^6}` | ortala | `[{'ab':^6}]` | `[ ab ]` | ## Alıştırma ```alistirma f-string kullanarak `Elif'in ortalaması: 84.67` satırını yazdır. Ortalamayı üç notun ortalaması olarak hesapla ve 2 basamakla yaz. %%% ad = "Elif" not1 = 78 not2 = 91 not3 = 85 # buraya yaz %%% ad = "Elif" not1 = 78 not2 = 91 not3 = 85 ortalama = (not1 + not2 + not3) / 3 yazdir(f"{ad}'in ortalaması: {ortalama:.2f}") %%% Elif'in ortalaması: 84.67 ``` ```alistirma `toplam_dakika` değerini `SS:DD` biçiminde (iki basamaklı saat ve dakika) yazdır. 425 dakika `07:05` olmalı. %%% toplam_dakika = 425 # buraya yaz %%% toplam_dakika = 425 saat = toplam_dakika // 60 dakika = toplam_dakika % 60 yazdir(f"{saat:02}:{dakika:02}") %%% 07:05 ```