Menu
Coddy logo textTech

Zagnieżdżone if - else

Część sekcji Podstawy ścieżki R w Coddy. Lekcja 25 z 78.

Czasami dwie opcje nie wystarczą. Co zrobić, jeśli musisz sprawdzić wiele warunków i obsłużyć każdy z nich inaczej? Możesz umieścić instrukcję if-else wewnątrz innego bloku if lub else, aby tworzyć bardziej złożone ścieżki decyzyjne.

score <- 85

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

R najpierw sprawdza, czy wynik wynosi 90 lub więcej. Ponieważ 85 nie spełnia tego warunku, przechodzi do bloku else.

Wewnątrz kolejny warunek if sprawdza, czy wynik wynosi co najmniej 80. Ponieważ 85 spełnia ten warunek, wyświetla „Grade: B”.

W R można zapisać to czytelniej, używając else if:

score <- 85

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

Oba podejścia działają tak samo, ale else if sprawia, że kod jest bardziej płaski i łatwiejszy do odczytania. Możesz łączyć ze sobą dowolną liczbę bloków else if, a R wykona tylko pierwszy blok, którego warunek jest prawdziwy.

challenge icon

Wyzwanie

Łatwy

Utwórz system ustalania cen biletów, używając zagnieżdżonych instrukcji if-else lub else if, aby określić cenę biletu na podstawie wieku.

Otrzymujesz następującą zmienną:

age <- 25

Napisz serię warunków, aby określić i wyświetlić cenę biletu na podstawie tych zasad:

  • Jeśli wiek jest mniejszy niż 5, wyświetl "Free"
  • Jeśli wiek wynosi od 5 do 12 (włącznie), wyświetl "$5"
  • Jeśli wiek wynosi od 13 do 17 (włącznie), wyświetl "$8"
  • Jeśli wiek wynosi od 18 do 64 (włącznie), wyświetl "$12"
  • Jeśli wiek wynosi 65 lub więcej, wyświetl "$7"

Użyj funkcji print(), aby wyświetlić wynik.

Spróbuj swoich sił

# Podana zmienna
age <- 25

# TODO: Napisz swój kod poniżej
# Użyj zagnieżdżonych instrukcji if-else lub else if, aby ustalić cenę biletu
# na podstawie podanych zasad dotyczących wieku
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator R online