Sayı yardımcıları
- Python kursu
- Orta seviye
- Ders 15/116
- 6 dk
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
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
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
class Utility:
def clamp(self, n, lo, hi):
return max(lo, min(hi, ____))
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.