Menu
Coddy logo textTech

İç İçe If - Else

Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 25 / 78.

Bazen iki seçenek yeterli olmaz. Ya birden fazla koşulu kontrol etmeniz ve her birini farklı şekilde ele almanız gerekirse? Daha karmaşık karar yolları oluşturmak için bir if-else ifadesini başka bir if veya else bloğunun içine yerleştirebilirsiniz.

score <- 85

if (score >= 90) {
  print("Grade: A")
} else {
  if (score >= 80) {
    print("Grade: B")
  } else {
    print("Grade: C or below")
  }
}

R ilk olarak puanın 90 veya üzerinde olup olmadığını kontrol eder. 85 bu koşulu karşılamadığı için else bloğuna geçer.

İçeride, başka bir if puanın en az 80 olup olmadığını kontrol eder. 85 bu testi geçtiği için "Grade: B" yazdırır.

R, bunu else if kullanarak yazmanın daha temiz bir yolunu sunar:

score <- 85

if (score >= 90) {
  print("Grade: A")
} else if (score >= 80) {
  print("Grade: B")
} else {
  print("Grade: C or below")
}

Her iki yaklaşım da aynı şekilde çalışır, ancak else if kodunuzun daha düz ve okunması daha kolay kalmasını sağlar. İhtiyaç duyduğunuz kadar else if bloğunu birbirine bağlayabilirsiniz ve R yalnızca koşulu doğru olan ilk bloğu çalıştıracaktır.

challenge icon

Görev

Kolay

Yaşa göre bilet fiyatını belirlemek için iç içe geçmiş if-else veya else if ifadelerini kullanarak bir bilet fiyatlandırma sistemi oluşturun.

Size aşağıdaki değişken sağlanmıştır:

age <- 25

Bu kurallara göre bilet fiyatını belirlemek ve yazdırmak için bir dizi koşul yazın:

  • Eğer yaş 5'ten küçükse, "Free" yazdırın
  • Eğer yaş 5 ile 12 arasındaysa (dahil), "$5" yazdırın
  • Eğer yaş 13 ile 17 arasındaysa (dahil), "$8" yazdırın
  • Eğer yaş 18 ile 64 arasındaysa (dahil), "$12" yazdırın
  • Eğer yaş 65 veya daha büyükse, "$7" yazdırın

Çıktınız için print() fonksiyonunu kullanın.

Kopya kağıdı

Birden fazla koşulu kontrol etmek için if-else ifadelerini birbirinin içine yerleştirebilirsiniz:

score <- 85

if (score >= 90) {
  print("Grade: A")
} else {
  if (score >= 80) {
    print("Grade: B")
  } else {
    print("Grade: C or below")
  }
}

Birden fazla koşulu zincirlemek için daha temiz bir yaklaşım else if kullanmaktır:

score <- 85

if (score >= 90) {
  print("Grade: A")
} else if (score >= 80) {
  print("Grade: B")
} else {
  print("Grade: C or below")
}

R, koşulları sırayla değerlendirir ve yalnızca koşulu doğru olan ilk bloğu çalıştırır. Gerektiği kadar else if bloğunu zincirleyebilirsiniz.

Kendin dene

# Sağlanan değişken
age <- 25

# YAPILACAK: Kodunuzu aşağıya yazın
# Bilet fiyatını belirlemek için iç içe if-else veya else if ifadeleri kullanın
# sağlanan yaş kurallarına göre
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler