If-Else Bersarang
Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 25 dari 78.
Terkadang dua pilihan tidak cukup. Bagaimana jika kamu perlu memeriksa beberapa kondisi dan menangani setiap kondisi secara berbeda? Kamu dapat menempatkan pernyataan if-else di dalam blok if atau else lainnya untuk membuat jalur pengambilan keputusan yang lebih kompleks.
score <- 85
if (score >= 90) {
print("Grade: A")
} else {
if (score >= 80) {
print("Grade: B")
} else {
print("Grade: C or below")
}
}R pertama-tama memeriksa apakah skornya 90 atau lebih. Karena 85 tidak memenuhi kondisi itu, R melanjutkan ke blok else.
Di dalamnya, if lain memeriksa apakah skornya minimal 80. Karena 85 lolos tes ini, kode mencetak "Grade: B".
R menyediakan cara yang lebih rapi untuk menulis ini menggunakan else if:
score <- 85
if (score >= 90) {
print("Grade: A")
} else if (score >= 80) {
print("Grade: B")
} else {
print("Grade: C or below")
}Kedua pendekatan bekerja dengan cara yang sama, tetapi else if membuat kodemu lebih datar dan mudah dibaca. Kamu dapat merangkai blok else if sebanyak yang diperlukan, dan R hanya akan menjalankan blok pertama yang kondisinya benar.
Tantangan
MudahBuat sistem harga tiket menggunakan pernyataan if-else atau else if bersarang untuk menentukan harga tiket berdasarkan usia.
Kamu diberi variabel berikut:
age <- 25Tulis serangkaian kondisi untuk menentukan dan mencetak harga tiket berdasarkan aturan berikut:
- Jika usia kurang dari 5, cetak
"Free" - Jika usia antara 5 dan 12 (inklusif), cetak
"$5" - Jika usia antara 13 dan 17 (inklusif), cetak
"$8" - Jika usia antara 18 dan 64 (inklusif), cetak
"$12" - Jika usia 65 atau lebih, cetak
"$7"
Gunakan fungsi print() untuk output-mu.
Coba sendiri
# Variabel sudah disediakan
age <- 25
# TODO: Tulis kodemu di bawah ini
# Gunakan pernyataan if-else bersarang atau else if untuk menentukan harga tiket
# berdasarkan aturan usia yang diberikanPelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika (AND, OR)Operator Logika Bagian 2 (NOT)Rangkuman: Logika SederhanaLogika Tervektorisasi Bagian 1Logika Tervektorisasi Bagian 27Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input Pengguna10FizzBuzz dengan Sentuhan Unik
Ikhtisar PermainanFungsi FizzBuzz2Variabel dan Tipe Data
Tipe Data NumerikTipe Data IntegerTipe Data KarakterTipe Data LogikaMemeriksa Tipe DataKonvensi PenamaanNilai yang Hilang: NARingkasan: Membuat Variabel8Perulangan
For LoopWhile LoopBreakBerikutnya (Continue)Ringkasan: FaktorialPembuatan Urutan (seq, :)Loop BersarangRingkasan: Input Dinamis3Operator Bagian 1
Operator AritmetikaPembagian Bilangan Bulat dan ModuloOperator PenugasanRangkuman: Matematika SederhanaOperator Perbandingan6Dasar input/output
Cetak outputcat untuk outputOutput dengan variabelMembaca input dengan readline()Dasar konversi tipe dataRingkasan: Kalkulator usiaRingkasan: Benar atau salah9Fungsi
Mendeklarasikan FungsiArgumen FungsiNilai KembalianUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Parameter Default12Melakukan Iterasi pada Urutan
Mengiterasi Elemen VektorMenggunakan seq_along()Mengiterasi Karakter (strsplitFungsi Manipulasi stringLatihan sendiri: Compiler R online