CodeBlanks Logo Icon CodeBlanks

Sayı yardımcıları

Sayı dönüşüm ve hesaplama metotlarını eklersin.

clamp metodu

Bir sayıyı belirli bir aralıkta tutmak için clamp metodu yazacağız. clamp(n, lo, hi), n lo'dan küçükse lo'yu; hi'den büyükse hi'yi; yoksa n'yi döndürür.

Örnek: clamp(15, 0, 10) → 10. Çünkü 15, 10'dan büyük. Python'da bunu max(lo, min(hi, n)) ile tek satırda yazabiliriz. Önce min(hi, n) üst sınırı uygular, sonra max(lo, ...) alt sınırı.

max ve min ile sınırlama

min(a, b) küçüğü, max(a, b) büyüğü döndürür. clamp'i bu ikisiyle kurarız: önce min(hi, n) üst sınırı uygular, sonra max(lo, ...) alt sınırı.

Örnek: clamp(15, 0, 10) = max(0, min(10, 15)) = max(0, 10) = 10. İçten dışa doğru okunur. Bu yapı if dallarına göre daha kısadır ve yine de okunaktır.

Uygulama Utility'ye clamp ekle

Utility sınıfına def clamp(self, n, lo, hi): metodunu ekle. Gövdede return max(lo, min(hi, n)) yaz. Sonra u = Utility() ile örnek oluştur ve print(u.clamp(15, 0, 10)) çağrısı yap.

Başlangıç kodu

main.py
class Utility:
    version = "1.0"
    def slugify(self, text):
        return text.lower().replace(" ", "-")

u = Utility()
print(u.slugify("Merhaba Dünya"))
# clamp metodunu ekle ve örnekle çağır

Örnek çözüm

main.py
class Utility:
    version = "1.0"
    def slugify(self, text):
        return text.lower().replace(" ", "-")
    def clamp(self, n, lo, hi):
        return max(lo, min(hi, n))

u = Utility()
print(u.clamp(15, 0, 10))

Beklenen çıktı

10

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 clamp parçalarını eşle

Kavram Anlamı
clamp Metot adı
max(lo, min(hi, n)) Sınırlama
15, 0, 10 Örnek giriş

2 clamp(15, 0, 10) ne döndürür?

  • 5
  • 15
  • 10 Doğru cevap
  • 0

Açıklama: 15, 10'dan büyük olduğu için üst sınır 10 döner.

3 clamp gövdesini tamamla

Soru
class Utility:
    def clamp(self, n, lo, hi):
        return max(lo, min(hi, ____))
Cevap
class Utility:
    def clamp(self, n, lo, hi):
        return max(lo, min(hi, n))

Açıklama: n orijinal değer; min ile üst sınır, max ile alt sınır uygulanır.

Orta seviye bölümündeki tüm dersler